1

AS3 | 多夫空气 3.5 | 闪光 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”不一致。它们是随机数和字符,可能还有长度,所以我不能真正使用我上面写的内容。它总是会导致一个“&”。

提前感谢您的帮助。

4

1 回答 1

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 结构,然后从“信息”节点中删除信息字符串

//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] 的矫揉造作,但应该是这样的。希望这可以帮助。

于 2013-02-06T10:27:40.713 回答