-3

Pythonを使用してテキストファイルから「()」を削除しようとしています。

私の入力行は次のようになります。

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

私が欲しい:

N 1.2620 0.3320 0.0049

基本的に、括弧で囲まれた数値は必要なく、最初の列を破棄したいと考えています。

4

2 に答える 2

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'

?sign は、正規表現を怠惰にするためのものです。それがなければ、次のようになります。

>>> re.sub('\(.*\)', '', s)
'N1B N 1.2620'

数字のみを削除する場合は、 \dinsted of を使用し.ます。

>>> 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'
于 2013-01-16T20:00:20.227 に答える
0

または、遅延量指定子を使用せずに、次を使用できます

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

また、最初の列を削除するには、単に使用します

re.sub('^[^ ]+ ', '', s)
于 2013-01-16T20:02:38.230 に答える