我将以下字符串发送到我的Web服务器:"|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>)"
到包含位置数据的位置。
答案 0 :(得分:2)
我认为最可靠的方法是:
import ValueIO;
str theString = "|project://Detector/src/exporter.rsc|(1762,28,\<45,10\>,\<45,38\>)";
theLoc = readTextValueString(#loc, theString);
该函数可能会抛出解析错误,您可以捕获并处理该错误,但是我猜这不会在您的设置中发生。