Pythonのreplaceメソッドで文字列を置換・削除のイメージ画像

Pythonのreplaceメソッドで文字列を置換・削除

  • 公開日:2019/01/16
  • 更新日:2019/01/29
  • 投稿者:n bit

Pythonで基本的な文字列(str型)置換削除にはreplaceメソッドを利用します。今回はreplaceメソッドを使用して任意の文字列の置き換えや削除方法を解説。基本的な置換え以外にも複数の文字列の同時置換や回数を指定した置換方法も解説しています。

  • Python
  • Django

この記事は約 分で読めます。(文字)

replaceメソッドで文字列を置換・削除

Pythonで基本的な文字列(str型)置換には『replace』メソッドを利用します。『replace』メソッドの指定方法は以下の通りです。

  • 置換された文字列 = 置換する文字列.replace(置換対象の文字列,置換え文字列)

必要に応じて置換え回数を指定する『count』などを利用します。

それでは実際に『replace』メソッドを利用して森鴎外の『知恵袋心頭語』内の1文の任意の文字列を置き換えてみましょう。

Note

森鴎外の『知恵袋心頭語』内の1文

『人に言うべき事は、最後まできちんと言うがよい。全部は言いたくないことだったら、むしろ初めから黙っていよ。』

replaceを使用して文字列を置換する

『replace』メソッドの第1引数に『初めから』を指定して文字列を『最初から』に置き換えてみます。『置換対象の文字列』と『置換え文字列』はダブルクォーテーション【"】、または、シングルクォーテーション【'】で囲んで引数に指定しましょう。

text = '''人に言うべき事は、最後まできちんと言うが良い。

全部は言いたくないことだったら、
むしろ初めから黙っていよ。'''

text_new = text.replace('初めから', '最初から')
print(text_new)

出力結果

人に言うべき事は、最後まできちんと言うが良い。

全部は言いたくないことだったら、
むしろ最初から黙っていよ。

文字列『初めから』が『最初から』に置き換えられたことが確認できます。

replaceを使用して文字列を削除する

『replace』メソッドの第1引数に『初めから』を指定して文字列を削除してみましょう。文字列を削除する場合は『置換え文字列』をクォーテーションのみにすることで削除されます。

text = '''人に言うべき事は、最後まできちんと言うが良い。

全部は言いたくないことだったら、
むしろ初めから黙っていよ。'''

text_new = text.replace('初めから', '')
print(text_new)

出力結果

人に言うべき事は、最後まできちんと言うが良い。

全部は言いたくないことだったら、
むしろ黙っていよ。

文字列『初めから』が削除されたことが確認できます。

replaceを使用して複数の文字列を同時に置換する

『replace』メソッドで複数の文字列を同時に置換する場合は『replace』メソッドを必要な数だけ後ろに付け足していくことで利用できます。置換や削除を組み合わせて利用することも可能です。

text = '''人に言うべき事は、最後まできちんと言うが良い。

全部は言いたくないことだったら、
むしろ初めから黙っていよ。'''

text_new = text.replace('きちんと', '').replace('全部は', '全ては').replace('初めから', '最初から')
print(text_new)

出力結果

人に言うべき事は、最後まで言うが良い。

全ては言いたくないことだったら、
むしろ最初から黙っていよ。

『replace』メソッドで指定した複数の文字列がすべて置換されていることが確認できます。

replaceを使用して文字列の最大置換回数を指定する

『replace』メソッドで文字列の置換回数を指定することができます。最大置換回数を指定する場合は第3引数の『count』に最大置換回数を数値で渡すと機能します。

  • 置換された文字列 = 置換する文字列.replace(置換対象の文字列, 置換え文字列,count)

置換えは先頭から『置換対象の文字列』にヒットしたもの『count』の数だけ置換します。

『replace』メソッドの第1引数に『。』を、第3引数に『1』を指定して文字列を『!』に置換えしてみましょう。

text = '''人に言うべき事は、最後まできちんと言うが良い。

全部は言いたくないことだったら、
むしろ初めから黙っていよ。'''

text_new = text.replace('。', '!', 1)
print(text_new)

出力結果

人に言うべき事は、最後まできちんと言うが良い!

全部は言いたくないことだったら、
むしろ初めから黙っていよ。

最初にヒットする文字列『。』だけが『!』に置き換えられていることが確認できます。

今日のdot

プログラミングでは文字列の操作が頻繁に出てきます。その中でも文字列の置換や削除といった操作は非常に多いでしょう。

replace』メソッドを使った文字列(str型)の基本的な置換削除方法は下記の通りです。

  • 置換された文字列 = 置換する文字列.replace(置換対象の文字列, 置換え文字列)

最大置換回数も指定したい場合は下記のように変更しましょう。

  • 置換された文字列 = 置換する文字列.replace(置換対象の文字列, 置換え文字列, count)