スライドショー

【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メソッドの使い方を忘れてしまったら、この記事を思い出してくださいね!

LINEで送る
Pocket

ITエンジニアへ転職したい方におすすめ

自分を評価してくれる企業に転職して年収を上げたい! 自分のスキルにあった独自案件を知りたい!
エンジニアは今もっとも注目されている職業の1つ。エンジニアになって年収を増やしたい方や、あなたのスキルに見合った企業へ転職したいエンジニアの方も多いですよね。

しかし、大手の転職媒体は扱う求人数が多くても、誰もが登録しているので競争率もかなり高くなっています。そのため、あなたの条件に見合った企業を見つけても転職するためには、相応の努力とスキルが必要となります。

こういった媒体では、未経験からエンジニアを目指す方やエンジニア歴2〜3年で転職を考えている方にとって、最適な転職環境とはいえません。

そこでオススメしたいのが、未経験者や若手エンジニア向けの独自案件を多く掲載している「侍ワークス」です。

侍ワークスは、独自案件を多く掲載しているだけでなく、

・応募から就業まで一貫したサポート

・就業後もアフターフォロー

といった経験の浅い方や初めてエンジニアを目指す方にも安心のフォロー体制が整っています。もちろん登録は完全無料!しかも案件を見るだけなら登録も不要です。

まずは、お気軽にどんな求人があるか見てみてください。あなたにピッタリの企業がきっと見つかりますよ! 侍ワークスの求人情報を見る

書いた人

ヤマシタ

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