【python】str.replace()メソッドの使い方

python

pythonのstr.replace()メソッドの使い方を調べる人

pythonのstr.replace()メソッドの使い方を調べる人
「pythonのstr.replace()メソッドの使い方やどのようなオプションがあるのか知りたいです。置換条件として正規表現も使えますか?あと、具体的な置換例としてコピペできるソースコードも欲しいです。」

こんな疑問を解決します。

結論

replace()メソッドは、pythonで文字列の一部を置換するときに用います。

 
>>> 'I love NY'.replace('NY','Paris')
'I love Paris'
 

 
replace()メソッドの構文は以下の通りです。

《str》.replace(《置換対象の文字列》, 《置換後の文字列》[, 《繰り返し上限回数》])

本記事の内容

  • 1.str.replace()メソッドを使って文字列を置換する
  • 2.str.replace()を使って特定の文字列を消去する
  • 3.str.replace()を使ってlistの全要素を置換する
  • 4.正規表現を用いて文字列を置換する

この記事を書いている私はIT業界歴12年、年収1,000万円ちょっとの金融系エンジニアです。学生時代から様々なプログラミング言語を扱ってきましたが、その中でもpythonはとても扱いやすく生産性も高く、オススメの言語です。

本記事では、pythonでstr.replace()メソッドを用いて文字列の一部を置換する方法について解説します。

具体例を示し、細かい構文に迷ったときにコピー&ペーストして使えることも目指しました。少しでもお役に立てますと幸いです。

1.str.replace()メソッドを使って文字列を置換する

str.replace()メソッドを使って文字列を置換する

いくつか簡単な置換の例を示します。
まず最初の例では、XaaSをPaaSに置換します。

 
>>> 'XaaS'.replace('X','P')
'PaaS'
 

 
大文字・小文字が異なれば、置換対象になりません。また置換対象がない場合は、そのまま元の文字列を返します。

 
>>> 'XaaS'.replace('AA','BB')
'XaaS'
 

 
次の例では、全ての’7’を’0’に置換します。

 
>>> '777'.replace('7','0')
'000'
 

 
次の例では、2回だけ’7’を’0’に置換します。

 
>>> '777'.replace('7','0',2)
'007'
 

2.str.replace()を使って特定の文字列を消去する

str.replace()を使って特定の文字列を消去する

置換後の文字列として空文字('')を指定すると、置換対象の文字列を消去することができます。

 
>>> 'This is an Apple Tree.'.replace('n Apple','')
'This is a Tree'
 

3.str.replace()を使ってlistの全要素を置換する

str.replace()を使ってlistの全要素を置換する

リスト内の各文字列に対してreplace()メソッドを適用することもできます。
map(《関数》,list)と記述すると、listの各要素に関数を適用することができます。関数にlambda式を用いることで、メソッドを各要素に適用することができるのです。

 
>>> list(map(lambda x:x.replace('7','9'),['7 Eleven','777','007']))
['9 Eleven', '999', '009']
 

4.正規表現を用いて文字列を置換する

正規表現を用いて文字列を置換する

最後に、正規表現を用いた文字列の置換の例を紹介します。ただしstr.replace()メソッドでは正規表現を利用することができないため、re.sub()関数を用いる必要があります。また、re.sub()関数を使うためには事前に正規表現(re)ライブラリをimportしておく必要があります。

 
>>> import re
>>> re.sub('\.[a-z]*','.txt','file1.log file2.csv file3.conf')
'file1.txt file2.txt file3.txt'
 

 

おわりに

今回は以上です。str.replace()メソッドを用いた文字列の置換方法について解説しました。

str.replace()メソッドのオプションは置換を繰り返す際の上限回数の指定だけですので、一度覚えれば迷うことなく使えるのではないかと思います。また文字列の置換は、テキスト処理などにも有効で大変便利です。

本記事の内容がプログラミングする際の参考になりましたら幸いです。

pythonは自動車、半導体メーカーなどでも使われています