use*_*534 4 python regex twitter
我已经查看了各种链接,但所有链接都展示了如何一次性替换多个单词。然而,我想替换的不是单词而是模式,例如
RT @amrightnow:“真正的特朗普”关于你的特朗普”观看制作#1 https:\/\/t.co\/j58e8aacrE #tcot #pjnet #1A #2A #Tru mp #trump2016 https:\/\/t。合作\u2026
当我对上面的文本执行以下两个命令时,我得到了所需的输出
result = re.sub(r"http\S+","",sent)
result1 = re.sub(r"@\S+","",result)
Run Code Online (Sandbox Code Playgroud)
这样我就删除了所有的 url 和 @(推文中的处理程序)。输出将类似于以下内容:
>>> result1
'RT "The Real Trump" Trump About You" Watch Make #1 #tcot #pjnet #1A #2A #Trump #trump2016 '
Run Code Online (Sandbox Code Playgroud)
有人可以让我知道最好的方法是什么吗?我基本上会从文件中读取推文。我想阅读每条推文并将这些处理程序和网址替换为空白。
您需要正则表达式“或”运算符,它是管道|:
re.sub(r"http\S+|@\S+","",sent)
Run Code Online (Sandbox Code Playgroud)
如果您有一长串要删除的模式,常见的技巧是使用join创建正则表达式:
to_match = ['http\S+',
'@\S+',
'something_else_you_might_want_to_remove']
re.sub('|'.join(to_match), '', sent)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5492 次 |
| 最近记录: |