は、2つの部分の質問です。間隔とパターン置換
現在コード:
import re
# Read inputfile
with open('input.txt', 'r') as file :
inputfile = file.read()
# Replace extras spaces with single space.
#outputfile = re.sub('\s+', ' ', inputfile).strip()
outputfile = ' '.join(inputfile.split(None))
# Write outputfile
with open('output.txt', 'w') as file:
file.write(outputfile)
パート2:余分なスペースが削除されると
。私はパターンミスを検索して置き換えます。
同様: '[' から '['
Pattern1 = re.sub(' [ ', ' [', inputfile)
エラーがスローされます。
昇給エラー、Vの#無効な式 エラー:正規表現が、
の予想外の終わりを。私は、問題が解決された間隔の後に句読点の問題に関して処理するための多くの状況を得た:(ハイフンの前と後に一緒に言葉を結合するために、たとえば)
Pattern1 = re.sub(' - ', '-', inputfile)
これが...動作します。
パターンが以前のパターン結果の出力を見て、さらに移動しないようにしたいと思います。
句読点の前後の空白をちょうど切る方がよいでしょうか。最初の部分のために、あなたは、改行ブロックで、それを分割し、各ラインを圧縮し、その後、改行に戻ってそれに参加し、そのようなことができ
正規表現を使用して検索して置き換えたいのは、単純な文字列の置き換えだけです。文字 '['は正規表現では意味を持ち、 ' - 'にも同じ意味です。 – alfasin
はい、あなたは正しいです。 str replaceを使用できました。しかし、スピードは賢明ですが、これはより速いですか? –
通常、正規表現の方が処理速度が遅くなります(ほとんどのプログラミング言語で)。参照:https://stackoverflow.com/questions/5668947/use-pythons-string-replace-vs-re-sub – alfasin