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

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()を使います。


text = "私はPythonが好きです"
new_text = text.replace("Python", "プログラミング")
print(new_text)

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

このように、置き換えたい元の文字列と、変えたい文字列を順番に指定します。

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

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

replace()は、対象の文字列が何回出てきても、すべてまとめて置き換えてくれます。


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

いぬがいぬを追いかけた

このように、「ねこ」が2つ出てきた場合、両方とも「いぬ」に変わります。

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()メソッドを使うと、対象となる文字列が複数あった場合でも、すべてまとめて新しい文字列に自動で置換してくれます。
コメント
コメント投稿は、ログインしてください

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

カテゴリの一覧へ
新着記事
New1
PHP
PHPのCookieセキュリティを完全ガイド!初心者でもわかるSecureとHttpOnlyの使い方
New2
PHP
PHPのCSRF対策を完全理解!トークンを使った安全なフォーム送信の仕組みを初心者向けに徹底解説
New3
PHP
PHPのSQLインジェクション対策を完全解説!初心者でも安全にデータベースを扱う方法
New4
PHP
PHPでカウントダウンタイマーを作る方法!初心者向けにやさしく解説
-
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonでテキストファイルを1行ずつ読み込む方法(readline() / readlines())
No.2
Java&Spring記事人気No2
PHP
初心者向けPHPでMySQLからデータを取得する方法(SELECT文)完全ガイド
No.3
Java&Spring記事人気No3
Python
Pythonのリストの重複を削除する方法を解説!初心者向けにsetとdict.fromkeysの使い方をやさしく説明
No.4
Java&Spring記事人気No4
Python
Pythonで経過時間を測る方法をやさしく解説!初心者向けtime.perf_counterとtime.sleepの使い方
No.5
Java&Spring記事人気No5
Python
Pythonでエラースタックトレースを表示・取得する方法を徹底解説!初心者向け例外処理入門
No.6
Java&Spring記事人気No6
PHP
PHPのOAuth認証をやさしく解説!Google・Facebookログインを初心者向けに実装しよう
No.7
Java&Spring記事人気No7
PHP
PHPのXSS対策を完全ガイド!初心者でもわかる安全なWebアプリの作り方
No.8
Java&Spring記事人気No8
Python
PythonでMySQLに接続する方法を完全解説!初心者でもわかるpymysqlの基本
-
-