簡體   English   中英

Python:刪除所有內容,包括一行中的某個字符以及該字符之后的所有內容

[英]Python: removing everything including and after a certain character on a line

我有一些這樣的文字:

1.6 # blah blah blah
# fjsadfklj slkjf yes 3.4
1.8*
1.9 1.10 #blah
#blah
1.11

我想通過刪除所有#字符以及它們在同一行之后的所有內容進行清理。 換句話說,我希望:

1.6
1.8*
1.9 1.10
1.11

解決此問題的最佳方法是什么? 通過簡單的方法,例如partition或正則表達式?

也許這就是您想要它滿足您的要求嗎?

example = '''1.6 # blah blah blah
# fjsadfklj slkjf yes 3.4
1.8*
1.9 1.10 #blah
#blah
1.11'''

for line in example.splitlines():
    print(line.split('#', 1)[0])

如果您確實想要注釋文本,則可以輕松修改該代碼以使其也可以捕獲。

你可以試試看

re.sub(r'\s*#.*', '', s)

\\s*還將有助於匹配前面的垂直或水平空格字符。 我所說的垂直空間是換行符,回車符。

DEMO

暫無
暫無

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

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