Pythonで置換処理をする方法

Pythonで置換処理をする方法

Pythonでの置換処理は、主に文字列を扱う際に用いられる機能です。
Pythonには文字列内の特定の部分を別の文字列で置き換えるためのメソッドがいくつか用意されています。
ここでは、str.replace()メソッドを使った基本的な置換処理の方法を説明します。

str.replace()メソッド

str.replace()メソッドは、指定した部分文字列を別の文字列で置き換えるために使われます。
このメソッドの構文は以下の通りです。

string.replace(old, new, count)
  • old: 置き換え対象の部分文字列。
  • new: oldの部分文字列を置き換える文字列。
  • count(省略可能): oldを置き換える回数。

指定しない場合は、すべてのoldが置き換えられます。

使用例

次の例では、文字列内のすべての「apple」を「orange」に置き換えます。

text = "I like apple. Apple is my favorite fruit."
new_text = text.replace("apple", "orange")
print(new_text)

このコードを実行すると、出力は以下のようになります。

I like orange. Orange is my favorite fruit.

ここで注意する点は、replace()メソッドは大文字と小文字を区別するため、"Apple"は置き換え対象に含まれません。
これを解決するためには、まず文字列を小文字に変換し、その後置き換え処理を行う方法があります。

text = "I like apple. Apple is my favorite fruit."
new_text = text.lower().replace("apple", "orange")
print(new_text)

これにより、すべての「apple」が「orange」に置き換えられます。

re.sub()メソッド

より複雑な置き換え処理が必要な場合は、reモジュールのre.sub()メソッドを使用することができます。
re.sub()は正規表現を使って文字列の置き換えを行います。

import re

text = "I have 1 apple and 2 apples."
new_text = re.sub(r'apple', 'orange', text)
print(new_text)

この例では、正規表現r'apple'を使って、文字列内のすべての「apple」を「orange」に置き換えています。
出力は以下のようになります。

I have 1 orange and 2 oranges.

まとめ

Pythonでの置換処理は、str.replace()メソッドを使って簡単に行うことができます。
単純な文字列置き換えにはこれで十分ですが、より複雑なパターンを扱う場合にはre.sub()メソッドが便利です。
これらの方法を使い分けることで、様々な置き換え処理を効率的に行うことができます。