我从Twitter获取一个字符串到我的Actionscript中,这是一个未格式化的字符串。我希望能够从字符串中提取任何链接和/或任何@replies,然后在htmlText中显示它。
到目前为止,我有这个
var txt:String = "This is just some text http://www.thisisawebsite.com and some more text via @sumTwitter"; var twitterText:String = txt.slice(txt.indexOf("@"),txt.indexOf(" ",txt.indexOf("@"))); var urlText:String = txt.slice(txt.indexOf("http"),txt.indexOf(" ",txt.indexOf("http"))); var newURL:String = ""+urlText+""; var arr:Array = txt.split(urlText); var newString:String = arr[0] + newURL + arr[1]; var txtField:TextField = new TextField(); txtField.width = 500; txtField.htmlText = newString; addChild(txtField);
这适用于提取带有空格的链接。但是,如果像@sumTwitter一样,它会在字符串的末尾完成。而且,如果有多个链接或@,是将它放入while循环的最佳方法呢?
答案 0 :(得分:2)
我认为正则表达式是您想要的最佳选择。
检查Grant Skinner's RegExr。你可以在那里编写和测试你自己的RegExp,这非常方便。但是,您也可以找到由不同用户创建的许多有用的即用型正则表达式。查看右侧面板中的“社区”选项卡。在那里,搜索一些有意义的关键字,如“twitter”和“url”,你会得到很多选项。
例如,
抓住网址:
捕获Twitter用户名: