Pythonを使用してテキストファイルから「()」を削除しようとしています。
私の入力行は次のようになります。
N1B N 1.2620(4) 0.3320(4) 0.0049(7)
私が欲しい:
N 1.2620 0.3320 0.0049
基本的に、括弧で囲まれた数値は必要なく、最初の列を破棄したいと考えています。
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'
?
sign は、正規表現を怠惰にするためのものです。それがなければ、次のようになります。
>>> re.sub('\(.*\)', '', s)
'N1B N 1.2620'
数字のみを削除する場合は、 \d
insted 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'
または、遅延量指定子を使用せずに、次を使用できます
re.sub('\([^)]*\)', '', s)
また、最初の列を削除するには、単に使用します
re.sub('^[^ ]+ ', '', s)