我已经筋疲力尽了我能找到的一切,但似乎无法让它发挥作用。我有一个包含各种Twitter帖子的.txt,我试图删除除文本中提到的@handles之外的所有内容。
例如:
Row1:这是Tweet @ Handle1
的文字第2行:此文本适用于@ Handle2和@Handle3
会导致:
第1行:@ Handle1
第2行:@ Handle2 @ Handle3
我想出了一个正则表达式来选择句柄:@[^\W]*
这适用于集合中的所有句柄,即使它们后面有一个冒号或句点而没有空格(经常发生)。
我尝试向其添加否定前瞻命令:(?!(@[^\W]*))
但我真的不知道还有什么可以让它起作用?
谢谢!
答案 0 :(得分:2)
因此,您可以遍历每一行,并扫描推文句柄。
例如,
str = "This text is meant for @Handle2 and @Handle3"
str.scan(/@\w+/).to_a #=> ["@Handle2", "@Handle3"]
然后您可以根据需要操作数组。
\w
是任何字母数字和下划线字符,如果您需要任何其他字符,可以修改它。