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データの前処理など、多くの場面で役立つテクニックです。まずはシンプルな例から試して、徐々に応用力をつけていきましょう。