我想從使用python的文本文件中刪除「()」。使用python刪除「()」
我輸入線看起來是這樣的:
N1B N 1.2620(4) 0.3320(4) 0.0049(7)
我想:
N 1.2620 0.3320 0.0049
基本上不希望任何數字,括號包裹,並想放棄的第一列。
我想從使用python的文本文件中刪除「()」。使用python刪除「()」
我輸入線看起來是這樣的:
N1B N 1.2620(4) 0.3320(4) 0.0049(7)
我想:
N 1.2620 0.3320 0.0049
基本上不希望任何數字,括號包裹,並想放棄的第一列。
使用正則表達式re
:
>>> import re
>>> s = 'N1B N 1.2620(4) 0.3320(4) 0.0049(7)'
>>> re.sub('\(.*?\)', '', s)
'N1B N 1.2620 0.3320 0.0049'
?
標誌是讓你的正則表達式懶。沒有它,你會得到:
>>> re.sub('\(.*\)', '', s)
'N1B N 1.2620'
如果你想刪除只數字,使用\d
insted的的.
:
>>> s = 'N1B N 1.2620(spam) 0.3320(4) 0.0049(7)'
>>> re.sub('\(\d*?\)', '', s)
'N1B N 1.2620(spam) 0.3320 0.0049'
謝謝你的工作,但我想擺脫輸出的第一列。 – Greg
另外,在不使用惰性限定符,你可以使用
re.sub('\([^)]*\)', '', s)
此外,要刪除第一列,只需使用
re.sub('^[^ ]+ ', '', s)
你到目前爲止嘗試過什麼?我會建議嘗試[re模塊](http://docs.python.org/2/library/re.html)。 –
你有嘗試過什麼嗎?如果是的話,什麼? –