カテゴリ: Python 更新日: 2025/12/25

Pythonで文字列を置換するには?replace()の使い方と正規表現の活用例

Pythonで文字列を置換するには?replace()の使い方と正規表現の活用例
Pythonで文字列を置換するには?replace()の使い方と正規表現の活用例

先生と生徒の会話形式で理解しよう

生徒

「先生、Pythonで文字列の一部を他の文字に変えたいときって、どうやるんですか?」

先生

「そのときはreplace()というメソッドを使えば、簡単に置き換えられますよ!」

生徒

「それって全部の文字を変えるんですか?それとも一部分だけもできますか?」

先生

「両方できます!さらに応用すれば、正規表現という方法を使って、もっと柔軟な置換もできますよ。それじゃあ順番に見ていきましょう!」

1. replace()とは?

1. replace()とは?
1. replace()とは?

replace()は、文字列の中の特定の文字や単語を、別の文字や単語に置き換えるためのメソッドです。文の中にある言葉を、違う言葉に変えるときによく使います。


s = "Pythonは楽しい"
new_s = s.replace("楽しい", "簡単")
print(new_s)

Pythonは簡単

2. 複数の同じ単語も一括で置換できる

2. 複数の同じ単語も一括で置換できる
2. 複数の同じ単語も一括で置換できる

replace()を使うと、同じ言葉が複数回出てきても全部まとめて置き換えることができます。


s = "りんごとりんごジュースとりんごパイ"
print(s.replace("りんご", "バナナ"))

バナナとバナナジュースとバナナパイ

3. 部分的にだけ置換したいとき

3. 部分的にだけ置換したいとき
3. 部分的にだけ置換したいとき

replace()には、置換回数を指定することもできます。


s = "apple apple apple"
print(s.replace("apple", "orange", 1))

orange apple apple

このように、1回だけ置き換えることもできます。

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

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

replace()は、完全に一致する文字列しか置き換えません。大文字・小文字が違うと無視されます。


s = "Apple is tasty"
print(s.replace("apple", "banana"))

Apple is tasty

この場合、「Apple」と「apple」は別の文字列として扱われます。

5. 応用:正規表現で柔軟な置換

5. 応用:正規表現で柔軟な置換
5. 応用:正規表現で柔軟な置換

正規表現(せいきひょうげん)とは、複雑な文字のパターンを指定して検索・置換できる方法です。Pythonではreというモジュールを使います。


import re
s = "abc123def456ghi"
new_s = re.sub(r"\d+", "#", s)
print(new_s)

abc#def#ghi

\d+は「1文字以上の数字」という意味で、re.sub()で置換できます。

6. よく使う正規表現の例

6. よく使う正規表現の例
6. よく使う正規表現の例
  • \d:数字
  • \w:英数字
  • \s:空白
  • .+:1文字以上の任意の文字

例えば、メールアドレスの形式にマッチさせることもできます(高度な応用)。

7. 置換前に文字列の中身を確認しよう

7. 置換前に文字列の中身を確認しよう
7. 置換前に文字列の中身を確認しよう

inを使って、特定の文字が含まれているかを事前に確認すると安心です。


s = "メール:example@example.com"
if "example.com" in s:
    s = s.replace("example.com", "sample.com")
print(s)

メール:example@sample.com

まとめ

まとめ
まとめ

Pythonの文字列操作は、初心者でも直感的に使えるメソッドが豊富で、その中でも特に利用頻度が高いのがreplace()です。文字列の一部を別の内容に置き換える基本的な機能から、同じ単語が複数存在する場合の一括置換、さらには置換回数の指定まで、さまざまな場面に応じて柔軟に活用できます。また、大文字と小文字が区別される点は意外と見落とされやすく、実務でも注意が必要なポイントです。文字列が期待どおりに変わらないときは、大文字小文字の違いが原因であることも多く、事前に対象が一致しているかどうかを確認する習慣が役立ちます。 さらに、文字列置換の応用として正規表現を使ったre.sub()が挙げられます。正規表現は複雑な記述を検索・置換できる強力な手段であり、数字の連続や特定の形式を検出して置換するなど、高度なテキスト処理が可能になります。\d+のようなパターン指定を利用することで、数字のまとまりを一括置換するなど、通常のreplace()では難しい処理も簡単に実現できます。また、メールやURLのようなフォーマット検出にも応用できるため、Pythonで文字列処理を行う際には習得しておきたい重要なスキルのひとつです。 置換を行う前に、対象の文字列をinで確認する方法も、誤った置換を防ぐうえで有効です。特に実務では、ログデータや外部入力の内容を扱う機会が多く、意図しない部分が置換されてしまうと重大な問題につながる可能性があります。そのため、置換前のチェックと部分置換の活用は、安全性と操作性の両面で欠かせない知識となります。ここでは、文字列操作の流れをより深く理解できるように、基本的な置換から正規表現を使った応用例までを整理し、Pythonのテキスト処理がどれほど柔軟かを実感できる構成にまとめました。

置換と正規表現を組み合わせたサンプルコード


import re

text = "ID: 12345 / TEL: 090-1234-5678 / CODE: 999"
# 数字のまとまりを「#」に置換
masked = re.sub(r"\d+", "#", text)

# 特定の部分だけ事前確認して置換
if "TEL" in text:
    text = text.replace("TEL", "電話番号")

print("正規表現で置換:", masked)
print("確認して置換:", text)

このサンプルでは、正規表現によって数字の連続をすべて置き換える処理と、inによる事前確認を組み合わせた置換を行っています。正規表現を用いることで、どのような数字でも柔軟に置換できるため、ログ情報や個人情報保護のためのマスキング処理にも応用可能です。また、部分的な単語置換を行う前にキーワードが含まれているかどうかをチェックすることで、想定外の箇所が変化してしまうリスクを避けることができます。このように、replace()の基本操作とre.sub()の応用を組み合わせることで、より高度な文字列処理が実現でき、Pythonでのデータ加工の幅が大きく広がります。 文字列操作はプログラムのあらゆる場面で登場するため、今回学んだ置換方法や正規表現の基本を押さえておくことは、今後のスキルアップに直結します。特にPythonでは、シンプルな記述で複雑な処理を表現できるため、慣れてくるとより効率的なコードを書けるようになります。実際のプロジェクトでも、ログ整形・データ変換・入力チェックなどさまざまな場面で活躍する知識なので、ぜひ積極的に応用してみましょう。

先生と生徒の振り返り会話

生徒

「文字列の置換ってこんなに便利なんですね!特に正規表現を使うと、数字だけまとめて置換できるのがすごいと思いました。」

先生

「そうですね。replace()はシンプルですが、正規表現と組み合わせることで一段階上の文字列操作ができるようになりますよ。」

生徒

「大文字と小文字が区別されることも忘れずに気をつけようと思いました。置換前にinで中身を確認するのも大事ですね。」

先生

「その意識はとても大切です。実際の開発では、誤った置換は大きな問題につながるので、確認しながら丁寧に扱いましょう。」

生徒

「今日の内容を踏まえて、自分のプログラムでも置換をもっと活用してみます!」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Pythonのreplaceとは何ですか?replaceの基本的な意味を知りたいです

Pythonのreplaceは文字列の中の特定の文字や単語を別の文字列に置換するためのメソッドです。文章を編集したり文字を差し替えたいときに使います。

正規表現のパターンが初心者には難しいのですが、簡単に覚える方法はありますか?

まずは「\\d(数字)」「\\w(英数字)」「.(任意の1文字)」など基本パターンから覚えると理解が進みやすいです。
カテゴリの一覧へ
新着記事
New1
Django
Djangoプロジェクトのディレクトリ構造を完全解説!初心者でも迷わないフォルダの見方
New2
Flask
Flask×Flask-SocketIOでチャットアプリを作る流れを初心者向けにやさしく解説
New3
Flask
Flaskアプリの作り方を基礎から学ぼう!初心者が覚えるべき開発の流れとは?
New4
Flask
Flask-WTFでファイルアップロードフォームを完全ガイド!初心者でもわかる画像やPDFのアップロード方法
人気記事
No.1
Java&Spring記事人気No1
Django
Django環境構築の全手順を完全解説!初心者でも迷わないPython・Djangoセットアップガイド
No.2
Java&Spring記事人気No2
Flask
Flask-Loginでユーザー認証を完全ガイド!初心者でもわかるログイン処理の作り方
No.3
Java&Spring記事人気No3
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.4
Java&Spring記事人気No4
Python
PythonでHello Worldを表示するには?初心者向けに最初の1行を実行してみよう
No.5
Java&Spring記事人気No5
Python
Pythonで定数を定義する方法!変更されない変数の書き方と命名ルールを初心者向けに解説
No.6
Java&Spring記事人気No6
Python
Pythonでリストを文字列に変換する方法を完全ガイド!初心者でもわかるjoinの使い方
No.7
Java&Spring記事人気No7
Flask
FlaskアプリをNginx + Gunicornで本番運用する方法!初心者でもわかるデプロイ構成の基本
No.8
Java&Spring記事人気No8
Python
Pythonのmatch文(パターンマッチング)とは?switch文の代替としての使い方をやさしく解説