簡體   English   中英

Python刪除以特定單詞開頭的所有行

[英]Python Remove all Lines starting with specific word

假設我有一個包含以下內容的字符串:

ASFksdfasf a
Oh sadfafas
Yeasd: asdfaf
Oh asdfaf

我想從以“ Oh”開頭的字符串中刪除行。 我將如何處理? 現在我知道我可以在正則表達式中執行以下操作:

\b[Oh]\S*

但是我不確定如何將結果存儲到變量中,即使那樣,我相信它只能找到單詞,而不是刪除單詞。

我用您要用來執行此操作的表達式對OP進行了評論,但建議使用@AvinashRaj的答案(非正則表達式)。 您詢問如何實現,而re.sub()是答案!


演示:

string = '''ASFksdfasf a
Oh sadfafas
Yeasd: asdfaf
Oh asdfaf'''

import re
print re.sub(r'^Oh.*\n?', '', string, flags=re.MULTILINE)

輸出:

ASFksdfasf a
Yeasd: asdfaf

使用string.startswith函數。

if not string.startswith('Oh'):

例:

>>> s = '''ASFksdfasf a
Oh sadfafas
Yeasd: asdfaf
Oh asdfaf'''
>>> for line in s.splitlines():
    if not line.startswith('Oh'):
        print(line)


ASFksdfasf a
Yeasd: asdfaf

暫無
暫無

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

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