2016-07-27 10 views
1

は、ここで私は、ファイルにテキストを置き換えるために使用しています私のコードです使用正規表現はPythonでエラーになります

sys.stdout.write(re.sub('Begin.*?end', new_data)) 

をそれは私にエラーを与えた:それ多分私はこのように直接re.sub一部を使用することができます

TypeError: sub() missing 1 required positional argument: 'string'

fileinputと正規表現をPythonで正しく使用して、テキストを正しく検索して置き換えることはできますか?

答えて

1

ちょうど

sys.stdout.write(re.sub('Begin.*?end', new_data, line)) 

を行う​​ための署名は、それが動作re.sub(pattern, repl, string, count=0, flags=0)

+0

ですが、問題があります。新しいファイルには、それぞれの元の行の後に1つの空行が追加されました。 –

+0

検索しているテキストが1行で、すべてではない場合は重要ですか? –

+0

空行の問題を修正するには、上記をsys.stdout.write(re.sub( 'Begin。*?end'、new_data、line.strip())) 'で置き換えます。テキストがどこにあるかは重要ですが、私はその決定をする者ではありません。それはあなた次第です。 – smac89