私はこのようなプログラムを持っています:
import re
x='aaaaaaaa;aa;aaa;aaa;aaaaaaaaaa;'
x=re.sub(';','.',x, re.IGNORECASE)
print x
しかし、出力は次のようになります。
aaaaaaaa.aa.aaa;aaa;aaaaaaaaaa;
;
に置き換えられていないものがまだいくつかありますが.
、なぜですか?
Python 2.6 の使用
更新 - Python 2.6 では、これを行うことができます:
>>> re.sub('(?i);','.',x)
'aaaaaaaa.aa.aaa.aaa.aaaaaaaaaa.'
Python 2.7 以降および 3.0 以降の場合
代わりにこれを行います。3 番目のパラメーターは実際にはカウント (作成する置換の数) であり、re.IGNORECASE
単純な整数であるため、それをカウントとして使用しています。
>>> re.sub(';','.',x, flags=re.IGNORECASE)
'aaaaaaaa.aa.aaa.aaa.aaaaaaaaaa.'
>>> re.IGNORECASE
2