Pythonで大文字小文字を無視した文字列の置換を行う方法はいくつかあります。ここでは、主にre
モジュールのsub()
メソッドとre.IGNORECASE
フラグを使用した方法を紹介します。
まず、re.IGNORECASE
オプションを使用した基本的な方法を見てみましょう。この方法では、re.compile()
を使用してパターンをコンパイルし、その後でsub()
メソッドを使用して置換を行います。
import re
insensitive_hippo = re.compile(re.escape('hippo'), re.IGNORECASE)
insensitive_hippo.sub('giraffe', 'I want a hIPpo for my birthday') # 'I want a giraffe for my birthday'
また、re.sub()
メソッドを直接使用して一行で置換を行うことも可能です。
import re
re.sub('(?i)' + re.escape('hippo'), 'giraffe', 'I want a hIPpo for my birthday') # 'I want a giraffe for my birthday'
これらの方法は、Pythonの強力な正規表現エンジンを活用して、大文字小文字を無視した文字列の置換を簡単に行うことができます。しかし、これらの方法は正規表現に慣れていないと難しいかもしれません。
そのため、str.replace()
メソッドと組み合わせて、大文字小文字を無視した文字列の置換を行う方法もあります。
test_str = "gfg is BeSt"
repl = "good"
subs = "best"
x = test_str.split()
for i in x:
if(i.lower() == subs.lower()):
test_str = test_str.replace(i, repl)
print(test_str) # 'gfg is good'
この方法は、re
モジュールを使用しないため、正規表現に慣れていない人にとっては理解しやすいかもしれません。
以上、Pythonで大文字小文字を無視した文字列の置換を行う方法を紹介しました。適切な方法を選択することで、Pythonでの文字列操作をより効率的に行うことができます。