2013-01-16 39 views
-3

我想從使用python的文本文件中刪除「()」。使用python刪除「()」

我輸入線看起來是這樣的:

N1B N 1.2620(4) 0.3320(4) 0.0049(7) 

我想:

N 1.2620 0.3320 0.0049 

基本上不希望任何數字,括號包裹,並想放棄的第一列。

+2

你到目前爲止嘗試過什麼?我會建議嘗試[re模塊](http://docs.python.org/2/library/re.html)。 –

+0

你有嘗試過什麼嗎?如果是的話,什麼? –

回答

7

使用正則表達式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' 
+0

謝謝你的工作,但我想擺脫輸出的第一列。 – Greg

0

另外,在不使用惰性限定符,你可以使用

re.sub('\([^)]*\)', '', s) 

此外,要刪除第一列,只需使用

re.sub('^[^ ]+ ', '', s)