AS3 - 字符串拆分网页不起作用



我有一个长字符串的HTML从网页。我想要进入内容,我在内容之前发现了这个:

<span style='margin-left:3px'><g:plusone size='medium' count='false'></g:plusone></span>
</div>

有一个换行,我不认为actionscript 3喜欢换行时使用分割。例如:

var theContent:Array = htmlSource.split("<span style='margin-left:3px'><g:plusone size='medium' count='false'></g:plusone></span></div>");

输出整个HTML源的一个大数组。

我如何使它能够成功地获取内容?我试过/r,它不起作用。

您试过n了吗?

var theContent:Array = htmlSource.split("...snip...</span>n</div>");

为什么不做一个简单的find + substr?

var sStr:String="<span style='margin-left:3px'><g:plusone size='medium' count='false'></g:plusone></span></div>";
var idx:int=htmlSource.indexOf(sStr);
var len:int=sStr.length;
var content:String=htmlSource.substr(idx+len);

如何使用正则表达式?

var regExp:RegExp = /(<span style='margin-left:3px'><g:plusone size='medium' count='false'></g:plusone></span>s?</div>)(.*)/s;
var content:String = htmlSource.replace(regExp, "$2");

"$2"返回第二个捕获组(即。(您提供的分隔符之后的所有内容)。如果您想要数组,请使用match(regExp)代替。

s?和dotall标志(最后是s)完成了任务。

注意:这是真正的惰性代码,因为您可以很容易地减少regExp。最重要的是效果。

最新更新