2010-09-16 17 views
1

我從Twitter獲取一個字符串到我的Actionscript中,這是一個未格式化的字符串。我希望能夠從字符串中提取任何鏈接和/或任何@replies,然後將其顯示在htmlText中。從字符串中提取鏈接和twitter回覆

到目前爲止,我有這個

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循環中是最好的方法?

回答

2

正如我所想,正則表達式是您想要的最佳選擇。

檢查Grant Skinner's RegExr。你可以在那裏編寫和測試你自己的RegExp,這非常方便。但是你也可以找到許多由不同用戶創建的有用的現成可用正則表達式。查看右側面板中的「社區」標籤。在那裏,搜索一些有意義的關鍵字,如「twitter」和「url」,你會得到很多選擇。

例如,

抓取網址:

http://regexr.com?2s5m4

捕捉嘰嘰喳喳的用戶名:

http://regexr.com?2s5m7

+0

不錯,感謝JPC! – daidai 2010-09-16 02:19:50