【Python入門】replaceによる文字列の置換をマスターしよう!

プログラミングを行っていると、文字列の一部を別の文字列に置き換えたいなんて場合はよくあります。

文字列を置換するにはどうすればいいの?
文字列を置換する回数を指定するにはどうすればいいの?
リストの文字列を置換する場合はどうすればいいの?

などの悩みを抱えている方に向けて、この記事では文字列を置換するreplaceメソッドについて解説していきます。

  • 【基礎】replaceメソッドとは
  • 【基礎】replaceメソッドの使い方
  • 【発展】リストの値を置換して置き換える方法
  • 【発展】正規表現を使って置換する方法

この記事では文字列を置換する方法について、やさしく解説していますので、ぜひ参考にしてください。

replaceとは

replaceメソッドは、元の文字列から置換したい文字列を指定し、置換したい文字列が含まれていた場合は置換した文字列を返します。replaceの書き方:

対象文字列.replace(“置換文字列”, “置換する文字列” [, 置換回数])

第一引数には対象文字列に含まれる置換対象文字列を指定します。第二引数には置換する文字列を指定します。

また、第三引数を指定した場合は、置換する回数を指定することができます次項よりreplaceメソッドの使い方を見ていきましょう!

replaceの基本的な使い方

それではさっそくreplaceメソッドの使い方を見ていきましょう。以下のサンプルでは文字列の中に含まれる10を30に置き換えています。

サンプルプログラム:

text = "本や雑誌が全品10%オフ、お見逃しなく!"
text_mod = text.replace("10","30")
print(text_mod)

実行結果:

本や雑誌が全品30%オフ、お見逃しなく!

第一引数に置換される文字列、第二引数に置換する文字列を指定します。text変数に入れられた文字列の一部である「10」は、replaceメソッドで「30」という文字列に置き換わっていますね。

置換回数を指定する

replaceメソッドは通常置換対象文字列が一致した場合は、すべて置換文字列に置換されてしまいます。もし、最初に一致した文字列のみ置換を行いたい場合は、第三引数に1を指定します。

サンプルプログラム:

text = "orange,orange,melon"
text_mod = text.replace("orange", "apple", 1)

print(text_mod)

実行結果:

apple,orange,melon

最初に一致した”orange”のみが置換されていることがわかりますね!

リストの置換

ファイルなどから読み込んだ文字列をリストに格納して、指定した文字列を置換したい場合は以下のように記述します。サンプルプログラム:

list1 = ["apple", "orange", "melon", "banana"]
list2 = []

print("置換前リスト:{0}".format(list1))

for item in list1:
    
    #文字列の置換
    item_mod = item.replace("apple", "orange")
    
    #リストに追加
    list2.append(item_mod)
    
print("置換後リスト:{0}".format(list2))

実行結果:

置換前リスト:['apple', 'orange', 'melon', 'banana']
置換後リスト:['orange', 'orange', 'melon', 'banana']

リストに格納されている文字列もforループを使用して行えることがわかりますね。このようにループを使用してリストの文字列を置き換えるような処理はよく使われますので、使い方はよく覚えておきましょう。

re.subを使用する方法

文字列を正規表現を使って置換したい場合はsub関数を使用します。sub関数の書き方:

re.sub(正規表現, "置換する文字列", 置換対象の文字列)

sub関数ではreplace関数より指定する引数が1つ多く、第一引数に正規表現を指定する必要があります。

正規表現を使用した文字列の置換については、以下の記事で詳しく解説しています!

まとめ

ここではreplaceメソッドを使って文字列を置換する方法について解説しました。

  • replaceメソッドとは
  • replaceメソッドの使い方
  • リストの値を置換して置き換える方法
  • 正規表現を使って置換する方法

実際に文字列を別の文字列に置き換える処理はよく使われますので、使い方についてはしっかりと理解しておきましょう。もし、replaceメソッドの使い方を忘れてしまったら、この記事を思い出してくださいね!

なお、今Pythonを学習している方は以下の記事もどうぞ。

はじめてPythonを使う方でもわかりやすいように、Pythonでできることやその学習法などを中心にまとめています。

復習にも使えると思いますので、ぜひ一度ご覧になってみてくださいね。

Python 入門完全攻略ガイド

LINEで送る
Pocket

「プログラミング、右も左もわからない…」という方にオススメ

当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。

その経験を通してプログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。

侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。

cta_under_bnr

「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。

書いた人

ヤマシタ

システムエンジニアとして10年勤務→フリーランスへ。現在は侍ブログ編集部としてこれまでに200記事以上の記事を執筆。
大規模システム開発からWebアプリ開発まで経験あり。最近ではPythonの機械学習に挑戦中。