簡體   English   中英

替換多個模式python

[英]replace more than one pattern python

我已經審查了各種鏈接,但都展示了如何在一次通過中替換多個單詞。 但是,我想要替換模式,而不是單詞

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)

這樣我就刪除了所有網址和@(來自推文的處理程序)。 輸出將如下所示:

>>> result1
'RT  "The Real Trump" Trump About You" Watch Make #1  #tcot #pjnet #1A #2A #Trump #trump2016 '

有人能告訴我這是最好的方法嗎? 我將基本上從文件中讀取推文。 我想閱讀每條推文,並用空格替換這些處理程序和網址。

你需要正則表達式“或”運算符,它是管道|

re.sub(r"http\S+|@\S+","",sent)

如果您要刪除一長串模式,則常用的技巧是使用join來創建正則表達式:

to_match = ['http\S+',
            '@\S+',
            'something_else_you_might_want_to_remove']

re.sub('|'.join(to_match), '', sent)

您可以通過使用|分隔模式來使用“或”模式

import re

s = u'RT @amrightnow: "The Real Trump" Trump About You" Watch Make #1 https:\/\/t.co\/j58e8aacrE #tcot #pjnet #1A #2A #Tru mp #trump2016 https:\/\/t.co\u2026'
result = re.sub(r"http\S+|@\S+", "", s)
print result

產量

RT  "The Real Trump" Trump About You" Watch Make #1  #tcot #pjnet #1A #2A #Tru mp #trump2016

'|'小節 正則表達式語法文檔中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM