我需要从推文中删除主题标签并将这些哈希标记作为数组返回。
我知道正确的正则表达式是可行的,但我似乎找不到合适的正则表达式。
答案 0 :(得分:10)
hashtag_array = tweet.split.find_all{|word| /^#.+/.match word}
拆分包含推文的字符串(默认情况下在空格上拆分拆分)。结果数组包含推文中的所有单词。 find_all返回一个数组,其中包含原始数组中给定块返回true的元素。因此,在块中我们检查以井号(#)开头的单词。
答案 1 :(得分:2)
"#qwe rty#asd #fgh".scan(/(?:^|\s)(#\S+)/).flatten
或
"#qwe rty#asd #fgh".split.grep /^#./