Как убрать хеш-теги из твита и вернуть их в виде массива? - PullRequest
4 голосов
/ 28 ноября 2010

Мне нужно убрать хештеги из твита и вернуть эти хеш-теги в виде массива.

Я знаю, что это возможно с правильным регулярным выражением, но я не могу найти правильное регулярное выражение для использования.

Ответы [ 2 ]

10 голосов
/ 28 ноября 2010
hashtag_array = tweet.split.find_all{|word| /^#.+/.match word}

Разделить строку, содержащую твит (по умолчанию разделение разделяется на пробел). Полученный массив содержит все слова в твите. find_all возвращает массив с элементами в исходном массиве, для которого данный блок возвращает true. Поэтому в блоке мы проверяем слова, начинающиеся с хеша (#).

Документация по методу split: здесь , find_all * здесь .

2 голосов
/ 29 ноября 2010
"#qwe rty#asd #fgh".scan(/(?:^|\s)(#\S+)/).flatten

или

"#qwe rty#asd #fgh".split.grep /^#./
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...