Извлечение ссылок и твиттер-ответов из строки - PullRequest
1 голос
/ 16 сентября 2010

Я получаю строку из Twitter в свой Actionscript, которая является неформатированной строкой. Я хочу иметь возможность извлекать любые ссылки и / или любые @ответы из строки, а затем отображать ее в 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?

1 Ответ

2 голосов
/ 16 сентября 2010

Регулярные выражения - лучший вариант для того, что вы хотите, я думаю.

Проверка Грант Скиннера RegExr . Вы можете написать и протестировать свой собственный RegExp, что очень удобно. Но вы также можете найти много полезных готовых к использованию регулярных выражений, созданных разными пользователями. Проверьте вкладку «Сообщество» в правой панели. Там выполните поиск по значимым ключевым словам, таким как «twitter» и «url», и вы получите множество вариантов.

Например,

Захватите URL:

http://regexr.com? 2s5m4

Захватить имена пользователей в твиттере:

http://regexr.com? 2s5m7

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...