我对AS3不是很熟悉,但我正在尝试使用:root.loaderInfo.loaderURL拆分字符串。这工作正常,它返回我的网址现在我试图拆分它下面是一个网址的例子:
http://cw-pdevprt-05.tm-gnet.com:10040/wps/myportal/Ad_Sales_Test/!ut/p/c5/04_SB8K8xLLM9MSSzPy8xBz9CP0os3gzQ28zD0sTQ0t3DwtzA89g_yATTxM_QwMTI_1wkA6zeGd3Rw8Tcx8DAwsXNwsDIydTM89AAxcDA09TiLwBDuBooO_nkZ-bql-QnZ3m6KioCAD3_3C4/dl3/d3/L2dBISEvZ0FBIS9nQSEh/
长而臃肿我知道但是在分裂我想要留下的字符串之后我无法控制它:
cw-pdevprt-05.tm-gnet.com:10040
我可以删除https://但无法删除以“/”开头的部分,我使用了以下代码:
var urlLocation:String = "http://cw-pdevprt-05.tm-gnet.com:10040/wps/myportal/Ad_Sales_Test/!ut/p/c5/04_SB8K8xLLM9MSSzPy8xBz9CP0os3gzQ28zD0sTQ0t3DwtzA89g_yATTxM_QwMTI_1wkA6zeGd3Rw8Tcx8DAwsXNwsDIydTM89AAxcDA09TiLwBDuBooO_nkZ-bql-QnZ3m6KioCAD3_3C4/dl3/d3/L2dBISEvZ0FBIS9nQSEh/";
var urlArray:Array = urlLocation.split("http://");
var urlSecond:String = urlArray;
var secondArray = urlSecond.split("/");
我尝试了上述但是在尝试拆分第二部分时总是失败,有人能帮助我得到正确的结果吗?
提前致谢
答案 0 :(得分:2)
您可以尝试使用此代码(regexp):
var domain:String = urlLocation.replace(/^https?:\/\/([^\/]+).*$/i, '$1');
答案 1 :(得分:1)
url = url.substr( 7 ); // removes the "http://" - use 8 if it's "https://"
url = url.substring( 0, url.indexOf( "/" ) ); // url is now "cw-pdevprt-05.tm-gnet.com:10040"
答案 2 :(得分:0)
我相信这是因为你试图将一个数组放入一个字符串,这就是一个字符串,但你有一个字符串数组,其中第一个是字符数组。无论哪种方式,我怀疑编译器是否会喜欢它。
但是,我不明白你为什么要做所有这些步骤,你应该能够用一行(或两行)代码完成所有这些(不是100%确定以下是否可以在AS中工作) :
var urlGet:String = urlLocation.split("/")[x]; //Not sure on all the details of .split() in AS. So "x" could be anything from 1-3 depending on whether it initializes are zero, and whether or not it will 'split at "//" to form an empty space in the array, or just skip over it. I imagine (hope) it would create an empty, but I don't want to say for certain
如果上述方法不起作用......
var urlGet:Array = urlLocation.split("/")
var urlGet2:String = urlGet[x] //This is x for similar reasons listed above.
希望有所帮助
编辑:只是为了澄清,
var urlGet:String = urlLocation.split("/")[x]
告诉ActionScript拆分字符串,然后将urlGet设置为等于创建的数组中的第x个元素。这是Python中的有效代码,只是不确定它是否可以在这里工作。
答案 3 :(得分:0)
Flex类URLUtil将使您更加简单。
var servername:String = URLUtil.getServerName(urlLocation);
您不必使用整个Flex框架来使用URLUtil,您可以复制该类并将其移动到您的src目录中。