从字符串构造位置
Constructing a location from a string
我的网络服务器收到以下字符串:"|project://Detector/src/exporter.rsc|(1762,28,<45,10>,<45,38>)"
使用 toLocation()
函数将其转换为位置将导致 MalFormedURI 错误。
我可以使用 toLocation()
函数将字符串 loc myLoc = toLocation("project://Detector/src/exporter.rsc");
转换为位置。
使用正则表达式我可以提取 "0,10,<2,0>,<4,10>"
。
但是现在的问题是我可以做到:myLoc(0,10,<2,0>,<4,10>)
,但是我不能做到myLoc("0,10,<2,0>,<4,10>")
。我可以使用正则表达式提取所有这些位置数据,然后将其添加到该位置,但这会导致讨厌的代码。
使用位置数据转换字符串的最佳做法是什么,例如。 "|project://Detector/src/exporter.rsc|(1762,28,<45,10>,<45,38>)"
到包含位置数据的位置。
我认为最稳健的方式是这样的:
import ValueIO;
str theString = "|project://Detector/src/exporter.rsc|(1762,28,\<45,10\>,\<45,38\>)";
theLoc = readTextValueString(#loc, theString);
该函数可能会抛出解析错误,您可以捕获并处理这些错误,但我猜您的设置不会发生这种情况。
我的网络服务器收到以下字符串:"|project://Detector/src/exporter.rsc|(1762,28,<45,10>,<45,38>)"
使用 toLocation()
函数将其转换为位置将导致 MalFormedURI 错误。
我可以使用 toLocation()
函数将字符串 loc myLoc = toLocation("project://Detector/src/exporter.rsc");
转换为位置。
使用正则表达式我可以提取 "0,10,<2,0>,<4,10>"
。
但是现在的问题是我可以做到:myLoc(0,10,<2,0>,<4,10>)
,但是我不能做到myLoc("0,10,<2,0>,<4,10>")
。我可以使用正则表达式提取所有这些位置数据,然后将其添加到该位置,但这会导致讨厌的代码。
使用位置数据转换字符串的最佳做法是什么,例如。 "|project://Detector/src/exporter.rsc|(1762,28,<45,10>,<45,38>)"
到包含位置数据的位置。
我认为最稳健的方式是这样的:
import ValueIO;
str theString = "|project://Detector/src/exporter.rsc|(1762,28,\<45,10\>,\<45,38\>)";
theLoc = readTextValueString(#loc, theString);
该函数可能会抛出解析错误,您可以捕获并处理这些错误,但我猜您的设置不会发生这种情况。