カテゴリ: Python 更新日: 2026/04/23

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

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

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

生徒

「Pythonで文章の中の特定の文字を別の文字に変えることってできますか?」

先生

「はい、それにはreplace()というメソッドを使います。文字列を置き換えるときにとても便利ですよ。」

生徒

「メソッドってなんですか?関数とは違うんですか?」

先生

「メソッドは関数の一種ですが、特定のデータ型とセットで使う関数だと思ってください。replace()は文字列専用の関数のようなものです。」

1. Pythonのreplace()とは?文字列の一部を別の文字に置き換える方法

1. Pythonのreplace()とは?文字列の一部を別の文字に置き換える方法
1. Pythonのreplace()とは?文字列の一部を別の文字に置き換える方法

replace()メソッドは、文章の中の特定の言葉を別の言葉に差し替えたいときに使う、文字列操作の中でも特にわかりやすい便利な機能です。難しい準備は必要なく、「何を」「何に」変えたいかを指定するだけで簡単に置き換えることができます。

まずはイメージしやすい短い例から見てみましょう。たとえば「こんにちは」という文字列の一部を別の言葉に変えると、次のように新しい文章が作れます。


text = "こんにちは"
new_text = text.replace("にち", "ばん")
print(new_text)

こんばんは

このように、指定した部分だけがきれいに置き換わります。文字列の加工や文章の修正をしたいときに、まず覚えておくと役立つ基本的なメソッドです。

2. replace()の基本的な使い方

2. replace()の基本的な使い方
2. replace()の基本的な使い方

replace()を使うと、文章の中の特定の言葉を別の言葉に簡単に差し替えることができます。使い方はとてもシンプルで、「元の言葉」と「置き換えたい言葉」を順番に指定するだけです。初めての人でも直感的に扱えるため、文字列操作の入門としてもわかりやすい方法です。

まずは、基本的な置換の例を見てみましょう。以下では「Python」という部分を「プログラミング」という言葉に置き換えています。


text = "私はPythonが好きです"

# Python を プログラミング に置き換える
new_text = text.replace("Python", "プログラミング")

print(new_text)

私はプログラミングが好きです

このように、置き換えたい語句を指定するだけで自然な文章に変わります。「別の表現に書き換えたい」「単語を統一したい」といった場面でもよく使われる便利なメソッドです。

3. replace()は全部置き換える

3. replace()は全部置き換える
3. replace()は全部置き換える

replace()メソッドは、同じ言葉が文章の中に何度出てきても、そのすべてを一気に置き換えてくれるのが特徴です。ひとつひとつ探して変更する必要がないため、文章の修正やデータ整理をする場面ではとても役に立ちます。特に初心者の方でも扱いやすく、意図した通りに置換できるため安心して使えるのも魅力です。


text = "ねこがねこを追いかけた"

# 文章にある「ねこ」を全部「いぬ」に置き換える
new_text = text.replace("ねこ", "いぬ")

print(new_text)

いぬがいぬを追いかけた

このように、同じ語句が複数回登場していても、まとめて変更してくれるので非常に便利です。手作業で修正する手間を省けるため、文章処理の基本として覚えておくと役立ちます。

4. 一部だけ置き換えるには?replace()の回数指定

4. 一部だけ置き換えるには?replace()の回数指定
4. 一部だけ置き換えるには?replace()の回数指定

すべてではなく、最初の1回だけ置き換えたいときは、replace()の3つ目の引数に「回数」を指定します。


text = "ねこがねこを追いかけた"
print(text.replace("ねこ", "いぬ", 1))

いぬがねこを追いかけた

このように、最初の「ねこ」だけが「いぬ」に変わり、2つ目はそのまま残ります。

5. 大文字・小文字の区別に注意しよう

5. 大文字・小文字の区別に注意しよう
5. 大文字・小文字の区別に注意しよう

replace()は、文字の大小(アルファベット)を区別して置き換えます。「Python」と「python」は別物として扱われます。


text = "I like Python and python"
print(text.replace("Python", "プログラミング"))

I like プログラミング and python

このように、「Python」は置き換えられますが、「python」はそのまま残ります。

6. 応用編:複数の文字を一括で置き換える方法

6. 応用編:複数の文字を一括で置き換える方法
6. 応用編:複数の文字を一括で置き換える方法

replace()では1つの言葉しか置き換えられませんが、複数の言葉を一括で変えたいときは、replace()を何回か使えば実現できます。


text = "りんごとバナナとみかん"
text = text.replace("りんご", "apple").replace("バナナ", "banana").replace("みかん", "orange")
print(text)

appleとbananaとorange

このように、連続してreplace()を使うことで複数の置換ができます。

7. 正規表現を使った高度な置換

7. 正規表現を使った高度な置換
7. 正規表現を使った高度な置換

「正規表現(せいきひょうげん)」とは、文字のパターンを使って文字列を探す方法です。たとえば、「数字だけをすべて置き換える」などの高度な操作ができます。

Pythonではreというモジュールを使って、正規表現を扱います。


import re
text = "電話番号は090-1234-5678です"
new_text = re.sub(r"\d", "*", text)
print(new_text)

電話番号は***-****-****です

\dは「数字1文字」を意味する記号で、正規表現なら一括で数字だけを置き換えることができます。

8. 正規表現で特定のパターンを置き換える例

8. 正規表現で特定のパターンを置き換える例
8. 正規表現で特定のパターンを置き換える例

たとえば、「メールアドレスの@以降を伏せる」ような操作も正規表現なら可能です。


import re
text = "メールはexample@example.comです"
new_text = re.sub(r"@.*", "@***", text)
print(new_text)

メールはexample@***です

@.*という部分は、「@から後ろ全部」という意味で、セキュリティ対策にも使われます。

9. replace()と正規表現、どちらを使うべき?

9. replace()と正規表現、どちらを使うべき?
9. replace()と正規表現、どちらを使うべき?

単純な文字の置き換えにはreplace()が便利で読みやすいです。一方で、もっと複雑なパターンに合わせた置き換えには正規表現のre.sub()を使うと良いです。

まずはreplace()で慣れてから、必要になったときに正規表現を少しずつ覚えていくのがおすすめです。

10. 練習:replace()で文章の中の言葉を変えてみよう

10. 練習:replace()で文章の中の言葉を変えてみよう
10. 練習:replace()で文章の中の言葉を変えてみよう

次のような文字列があったとします。


text = "今日は晴れです。晴れの日は気持ちがいいですね。"

この中の「晴れ」をすべて「くもり」に変えてみましょう。


print(text.replace("晴れ", "くもり"))

今日はくもりです。くもりの日は気持ちがいいですね。

このように、文章の中の特定の言葉を簡単に別の言葉に差し替えることができます。

まとめ

まとめ
まとめ

Pythonで文字列を置き換える方法について学ぶと、さまざまな場面で文章を編集・加工する力が身につきます。たとえば、入力されたテキストから特定の単語だけを変更したいときや、情報の一部を伏せる処理、複数の単語を一括で置換するような機能は、Web開発やデータ処理の現場でもよく使われます。

この記事では、基本となるreplace()メソッドの使い方から、複数回の置き換えや回数指定、大文字・小文字の違いまで丁寧に確認しました。replace()はとても直感的で使いやすいため、初心者にとっても習得しやすいメソッドです。

また、より複雑な置換が必要なときには正規表現re.sub()を使う方法も紹介しました。たとえば、メールアドレスのドメインだけを隠したり、数字だけをマスクしたり、記号やパターンに沿った操作をしたいときには非常に役立ちます。

次のコードはその復習として、「文章中の単語をいくつかまとめて別の単語に変える処理」と「メールアドレスの一部を伏せる処理」を組み合わせた例です。


text = "私の好きなフルーツはりんごとバナナです。連絡先はfruitlover@example.comです"
text = text.replace("りんご", "apple").replace("バナナ", "banana")
import re
text = re.sub(r"@.*", "@***", text)
print(text)

このようにreplace()とre.sub()を組み合わせると、自然なテキスト編集が可能になります。

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

生徒「先生、replace()ってすごく簡単に文字を置き換えられるんですね!」

先生「そうだね、使い方がシンプルだから、まずはreplace()で慣れるといいよ」

生徒「正規表現はちょっと難しそうだけど、少しずつ使い方を覚えたいです」

先生「うん、複雑なパターンの置き換えにはre.sub()が便利だから、少しずつで大丈夫」

生徒「あと、replace()の3つ目の引数で回数を指定できるのも面白かったです!」

先生「そうそう、全部変えるんじゃなくて、一部だけ変えたいときに使える便利な機能だね」

生徒「次はもっと長い文章や実際のデータでも試してみたいです」

先生「それがいいね。どんどん練習して、文字列の処理に慣れていこう!」

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

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

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

Pythonのreplace()メソッドで文字列のすべての出現を置き換えるにはどうすればよいですか?

replace()メソッドを使うと、対象となる文字列が複数あった場合でも、すべてまとめて新しい文字列に自動で置換してくれます。

Pythonでreplace()の回数を指定して一部の文字列だけを置き換える方法はありますか?

replace()には第3引数を指定することで、何回だけ置換するかを設定できます。最初の1回だけ置換したい場合に便利です。
コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

カテゴリの一覧へ
新着記事
New1
PHP
PHPでセッションを使ってフォーム入力を保持する方法を解説!初心者向けステップバイステップ
New2
PHP
PHP の文字列の基本操作(連結・切り出し・長さ)の使い方
New3
PHP
PHPのメール送信でSPF・DKIM認証設定を完全解説!初心者でもわかるメール認証の基本
New4
Python
PythonでAPIのパフォーマンスを向上させる方法!キャッシュ活用を初心者向けに完全解説
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonで文字列が数値か判定する方法!isdigit()・isnumeric()の違い
No.2
Java&Spring記事人気No2
PHP
PHP のフォームデータの受け取り($_POST, $_GET)を完全解説!初心者向けガイド
No.3
Java&Spring記事人気No3
Python
Pythonで辞書のネスト構造(入れ子辞書)を扱う方法 初心者向け完全ガイド
No.4
Java&Spring記事人気No4
Python
Pythonのコンストラクタ(__init__)の使い方!初心者でもわかるオブジェクトの初期化
No.5
Java&Spring記事人気No5
PHP
PHPのHTMLメールの作成方法を完全ガイド!初心者でもわかるメール送信の基本
No.6
Java&Spring記事人気No6
Python
PythonでExcelファイル(.xlsx)を操作する方法を徹底解説!初心者でもできるopenpyxl・pandasの使い方
No.7
Java&Spring記事人気No7
Python
Pythonの例外を発生させる方法を完全解説!raise文の使い方を初心者向けにやさしく説明
No.8
Java&Spring記事人気No8
Python
Pythonで2次元リストを作成・操作する方法(リストのリスト)