AS3 | Adove Air 3.5 | Flash CS6
我把html从一个在线资源中拉出来放入一个字符串,我正在逐个拆分,根据我提取的信息构建一个XML文件。我需要搜索整个字符串以删除“info”后面的字符,直到字符“&”。整个字符串中有多个这样的实例,所以我认为最好使用RegExp。欢迎提出其他建议。
//code from the website put into a full string
var fullString = new String(urlLoader.data);
//search string to find <info> and remove characters AFTER it up until the character '&'
var stringPlusFive:RegExp = /<info>1A2E589EIM&/g;
//should only remove '1A2E589EIM' leaving '<info>&'
fullString = fullString.replace(stringPlusFive,"");
我遇到的问题是“1A2E589EIM”不一致。它们是随机数字和字符,可能是长度,所以我不能真正使用我上面写的。它总是会导致“&amp;”。
提前感谢您的帮助。
答案 0 :(得分:0)
我认为正则表达式更像是
//search string to find <info> and remove characters AFTER it up until the character '&'
var stringPlusFive:RegExp = /<info>\w+&/g;
//should only remove '1A2E589EIM' leaving '<info>&'
fullString = fullString.replace(stringPlusFive,"<info>&");
现在,如果你要将你的字符串解析为XML,你可以等到你的XML结构,然后从'info'节点中删除信息字符串
//code from the website put into a full string
var fullString = new String(urlLoader.data);
//parse to XML
var xml:XML = XML(fullString),
index:int, text:string;
for each(var info:XML in xml.descendants('info')){
text = info.*[0].text();
index = text.indexOf('&');
if(index != -1){
info.*[0] = text.substr(index);
}
}
我不确定对* [0]的影响,但应该是这样的。希望这会有所帮助。