Actionscript 3 使用操作脚本分析字符串

Actionscript 3 使用操作脚本分析字符串,actionscript-3,Actionscript 3,我在一个flex网站上工作 我想分析下面的字符串: 然后将&session_id=2B7075F175F599B9390DD06F724EE7从中卸下 我该怎么做呢 稍后,当我从数据库中获取不带session\u id的url时,我会将新session\u id附加到它。请告诉我怎么做 问候 Zeeshan如果您不确定sessionid是否是最后一个,则可以使用as3 string.split fun在上拆分(&S)ctionhttp://livedocs.adobe.com/flash/9.

我在一个flex网站上工作

我想分析下面的字符串:

然后将&session_id=2B7075F175F599B9390DD06F724EE7从中卸下

我该怎么做呢

稍后,当我从数据库中获取不带session\u id的url时,我会将新session\u id附加到它。请告诉我怎么做

问候
Zeeshan

如果您不确定sessionid是否是最后一个,则可以使用as3 string.split fun在上拆分(&S)ctionhttp://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/String.htmlsplit%28%29


然后使用for循环重新生成字符串,省去以session_id开头的字符串,使用string.indexOf函数查看session_id是否位于索引0

如果您不确定sessionid是否是最后一个,则可以使用as3 string.split在上拆分(&p)享乐ctionhttp://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/String.htmlsplit%28%29


然后使用for循环重新生成字符串,省去以session_id开头的字符串,使用string.indexOf函数查看session_id是否位于索引0中。您可以在Flex中使用正则表达式。。。下面是一个。

您可以在Flex中使用正则表达式。。。这里有一个.

假设会话ID始终是查询字符串中的最后一个变量:

var newStr:String = myStr.slice(0, myStr.indexOf("&session"));

假设会话ID始终是查询字符串中的最后一个变量:

var newStr:String = myStr.slice(0, myStr.indexOf("&session"));

不是简短的版本,但您可以使用URLVariable将所有字段名、值获取到对象中,然后添加或删除所需的任何字段

单独的url和查询:

var url : String = "http://virtual.s1.c7beta.com/rpc/raw?c=Pictures&m=download%5Fpicture&key=a4fb33241662c35fe0b46c7e40a5b416&session%5Fid=2b7075f175f599b9390dd06f7b724ee7";
var idxQMark : int = url.indexOf("?");
var qry : String = "";
从查询生成url变量

var uv : URLVariables = new URLVariables();
if (idxQMark > 0) {
 qry = url.substr(idxQMark + 1);
 url = url.substr(0, idxQMark);
 uv.decode(qry);
}
现在,您可以访问任何需要的字段或删除它们

delete uv.session_id;
需要时重新生成查询

qry = uv.toString();
//找回你的新网址

if (qry != "") {
 url = url + "?" + qry;
}

不是简短的版本,但您可以使用URLVariable将所有字段名、值获取到对象中,然后添加或删除所需的任何字段

单独的url和查询:

var url : String = "http://virtual.s1.c7beta.com/rpc/raw?c=Pictures&m=download%5Fpicture&key=a4fb33241662c35fe0b46c7e40a5b416&session%5Fid=2b7075f175f599b9390dd06f7b724ee7";
var idxQMark : int = url.indexOf("?");
var qry : String = "";
从查询生成url变量

var uv : URLVariables = new URLVariables();
if (idxQMark > 0) {
 qry = url.substr(idxQMark + 1);
 url = url.substr(0, idxQMark);
 uv.decode(qry);
}
现在,您可以访问任何需要的字段或删除它们

delete uv.session_id;
需要时重新生成查询

qry = uv.toString();
//找回你的新网址

if (qry != "") {
 url = url + "?" + qry;
}

对于URI解析,请查看as3corelib中提供的URI类。

对于您的特定情况,您可以清除URI中不需要的部分

var url : String = "http://virtual.s1.c7beta.com/rpc/raw?c=Pictures&m=download%5Fpicture&key=a4fb33241662c35fe0b46c7e40a5b416&session%5Fid=2b7075f175f599b9390dd06f7b724ee7";
var uri : URI = new URI(url);
uri.query = "";
uri.fragment = "";
var shortenedUrl : String = uri.toString();
或者,如果您知道您只想从方案、权限和路径构建url,即不需要保留端口、用户名、密码等。您可以从部分构建url

var shortenedUrl : String = uri.scheme + "://" + uri.authority + "/" + uri.path;

对于URI解析,请查看as3corelib中提供的URI类。

对于您的特定情况,您可以清除URI中不需要的部分

var url : String = "http://virtual.s1.c7beta.com/rpc/raw?c=Pictures&m=download%5Fpicture&key=a4fb33241662c35fe0b46c7e40a5b416&session%5Fid=2b7075f175f599b9390dd06f7b724ee7";
var uri : URI = new URI(url);
uri.query = "";
uri.fragment = "";
var shortenedUrl : String = uri.toString();
或者,如果您知道您只想从方案、权限和路径构建url,即不需要保留端口、用户名、密码等。您可以从部分构建url

var shortenedUrl : String = uri.scheme + "://" + uri.authority + "/" + uri.path;