Python|文字列を置換する

1. はじめに

Pythonで文字列を操作する際によく使う処理のひとつが「文字列の置換」です。たとえば、文章中の特定の単語を別の単語に変更したり、ユーザーからの入力値を調整する際など、さまざまな場面で活用されます。

本記事では、Pythonで文字列を置換する ための基本的な方法から応用例、エラー対策までを、コード付きでわかりやすく解説します。Python初心者〜中級者の方にとって実用的な内容となっています。

 

2. Pythonにおける文字列の置換方法【基本編】

2-1. replace()メソッドの使い方

Pythonで文字列を置換する代表的な方法は replace() メソッドです。これは文字列オブジェクトのメソッドで、「置換前の文字列」を「置換後の文字列」に変更した新しい文字列を返します。

# 基本的な文字列の置換
text = "Pythonは楽しい"
new_text = text.replace("楽しい", "奥深い")
print(new_text)

実行結果:

Pythonは奥深い

2-2. 複数回出現する文字もすべて置換される

replace()は、対象の文字列が複数存在する場合も、すべて一括で置換されます。

text = "apple banana apple grape"
new_text = text.replace("apple", "orange")
print(new_text)

実行結果:

orange banana orange grape

2-3. 一部だけ置換したいときは「第3引数」を使う

replace()には第3引数(置換回数)を指定できます。たとえば、最初の1回だけを置換したいときに便利です。

text = "apple banana apple grape"
new_text = text.replace("apple", "orange", 1)
print(new_text)

実行結果:

orange banana apple grape

 

3. よくある使い方・応用例

3-1. 改行コードや空白の削除

テキスト処理でよくあるのが、改行や不要な空白の削除です。これも replace() を使って簡単に対応できます。

text = "こんにちは\nPython\n初心者向け\n"
clean_text = text.replace("\n", "")
print(clean_text)

実行結果:

こんにちはPython初心者向け

3-2. URLの整形(業務シーンでの利用例)

Web開発やデータ整形の実務でも文字列の置換は重要です。たとえば、URLの「http」を「https」に変換する場合などに利用されます。

url = "http://example.com"
secure_url = url.replace("http://", "https://")
print(secure_url)

実行結果:

https://example.com

3-3. 辞書と組み合わせて複数の単語を一括置換

複数の文字列をまとめて置換したい場合は、辞書とループを使うと便利です。

text = "今日はsunnyで気分がhappyです"
replacements = {"sunny": "rainy", "happy": "sad"}

for old, new in replacements.items():
    text = text.replace(old, new)

print(text)

実行結果:

今日はrainyで気分がsadです

 

4. 注意点・エラー対策

4-1. 文字列はイミュータブル(変更不可)

replace()を使っても、元の文字列は変わりません。新しい文字列が返されるだけなので、置換後はそれを変数に代入しましょう。


text = "Python"
text.replace("P", "J")
print(text)  # 元の変数は変わらない

実行結果:

Python

※置換結果を変数に保存しないと反映されません。

4-2. 大文字・小文字の違いに注意

replace()は大文字と小文字を区別します。そのため、”Python”と”python”は異なる文字列として扱われます。

text = "Python is powerful"
new_text = text.replace("python", "Java")
print(new_text)

実行結果:

Python is powerful

対策として、事前に .lower().upper() を使って統一するのが有効です。

4-3. 空文字列に置換すると削除できる

指定の文字列を削除したいときは、置換後の文字列を "" にします。

text = "abc-def-ghi"
new_text = text.replace("-", "")
print(new_text)

実行結果:

abcdefghi

 

5. まとめ

今回は、Pythonで文字列を置換する方法について、基本から応用まで詳しく解説しました。主に replace() メソッドを使うことで、特定の文字列を別の文字列に変換する処理が簡単にできます。

  • 基本:replace("置換前", "置換後")
  • 応用:第3引数で回数指定、辞書で一括変換
  • 注意:大文字・小文字、元の文字列は変わらない

実務でも、ログの整形、ユーザー入力のフィルタリング、Webデータの前処理など、多くの場面で役立つテクニックです。まずはシンプルな例から試して、徐々に応用力をつけていきましょう。

タイトルとURLをコピーしました