Python で文字列内の文字を置換する方法

Python 文字列内の文字または部分文字列を置換する方法を学びます。 replace() メソッド、カウント制限、および複数の文字の翻訳の使用をマスターしてください。

エディターでこのソリューションを試してください

概要

文字列操作は、入力の解析、テンプレートのレンダリング、データのクレンジング、出力テキストの生成の中心です。 Python では、テキスト ブロック内の特定の文字または部分文字列を変更するのは簡単ですが、文字列の基本的な特性である不変性を理解する必要があります。

Python 文字列は不変であるため、その文字をその場で変更することはできません (たとえば、`text[0] = "A"` と書くと `TypeError` が発生します)。代わりに、文字列を変更する操作はすべて、新しい文字列を作成して返す必要があります。このための主なツールは、組み込みの `.replace()` メソッドです。

`.replace(old, new)` メソッドは、指定された部分文字列が出現するすべての文字列を検索し、それらを新しい部分文字列に置き換えます。オプションの 3 番目の引数 `count` を指定することもできます。これにより、左から右に実行する置換の数が制限されます。より複雑な複数文字の置換には、`.translate()` メソッドを使用するか、`re.sub()` 関数で正規表現を使用できます。

コードと実行の出力

このスクリプトは、 replace() メソッドを使用して部分文字列と文字を置換することによる文字列の変更を示します。

text = "banana apple banana cherry"

# 1. Replace all occurrences of a word
replaced_all = text.replace("banana", "orange")
print("Replaced all:", replaced_all)

# 2. Replace with a count limit (only first occurrence)
replaced_limit = text.replace("banana", "orange", 1)
print("Replaced limit:", replaced_limit)

# 3. Replace individual characters (immutability demonstration)
phrase = "pyth0n"
corrected = phrase.replace("0", "o")
print("Corrected string:", corrected)
端子出力
Replaced all: orange apple orange cherry
Replaced limit: orange apple banana cherry
Corrected string: python

段階的な実装

  • ターゲット文字列に対して .replace() メソッドを呼び出します。
  • ターゲットの部分文字列を最初の引数として渡し、置換文字列を 2 番目の引数として渡します。
  • 置換の数を制限したい場合は、count 引数を使用します。

よくある質問

文字列内の文字をその場で置換するにはどうすればよいですか?

Python 文字列は不変であるため、これはできません。 .replace() メソッドの結果を文字列変数に割り当てる必要があります: text = text.replace(...)。

replace() は大文字と小文字を区別しますか?

はい、.replace() では大文字と小文字が厳密に区別されます。大文字と小文字を区別しない置換を実行するには、re モジュールと re.IGNORECASE で正規表現を使用する必要があります。

関連トピック

推奨される Python リソース

関連するインタラクティブなチュートリアル、チートシート、コード比較で知識を深めてください。