如何从推文中删除哈希标记并将其作为数组返回?

时间:2010-11-28 20:18:39

标签: ruby regex

我需要从推文中删除主题标签并将这些哈希标记作为数组返回。

我知道正确的正则表达式是可行的,但我似乎找不到合适的正则表达式。

2 个答案:

答案 0 :(得分:10)

hashtag_array = tweet.split.find_all{|word| /^#.+/.match word}

拆分包含推文的字符串(默认情况下在空格上拆分拆分)。结果数组包含推文中的所有单词。 find_all返回一个数组,其中包含原始数组中给定块返回true的元素。因此,在块中我们检查以井号(#)开头的单词。

分割方法的文档是here,find_all是here

答案 1 :(得分:2)

"#qwe rty#asd #fgh".scan(/(?:^|\s)(#\S+)/).flatten

"#qwe rty#asd #fgh".split.grep /^#./