本記事では、Pythonの文字列を置換する方法を解説します。
文字列置換はPythonではよく使われるので、やり方を覚えておいた方が良いでしょう。
今回は文字列置換に関する基本を網羅しました。
文字列置換について分からないことがありましたら、ぜひ本記事を参考にしてくださいね。
Pythonで特定の文字列を置換する方法
Pythonで特定の文字列を置換する方法を解説しましょう。
3つの項目に分けて解説します。
- 文字列を置換する
- 2種類の文字列を置換する
- 数を限定して文字列を置換する
これらが文字列置換の基本ですので、やり方をまず抑えておきましょう。
文字列を置換する
ますは単純に文字列を置換する方法をみていきましょう。
文字列を置換する場合は、replaceメソッドを使用します。
今回は、文字列のスペースを「-」に置換してみましょう。
○コード例
fruit = 'banana apple watermelon yuzu'
print(fruit.replace(' ', '-'))
○実行結果
replaceメソッドを使う場合、第一引数に「置換したい文字列」、第二引数に「置換後の文字列」を指定します。
上記の例では、第一引数に「 」を第二引数に「-」を指定していますね。
こうすることで、スペースを「-」に置換することができるのです。
このようにreplaceは、第二引数まで使うことが前提のメソッドです。
文字列を置換する場合は、だいたいreplaceメソッドを使うことが多いですね。
2種類の文字列を置換する
つづいて2種類の文字列を置換する場合もみていきましょう。
replaceメソッドには残念ながら、2種類をまとめて置換する機能はありません。
そこでreplaceメソッドを2回使うやり方で対処しましょう。
○コード例
fruit = 'banana&apple&watermelon%yuzu'
print(fruit.replace('&', '-').replace('%', '-'))
○実行結果
上記のコードではreplaceメソッドを使い「&」と「%」を両方とも「-」に置換しています。
このようにreplaceメソッドを2回使えば、2種類の文字列をまとめて置換可能です。
もちろん、3種類、4種類の文字列をまとめて置換することもできます。
数を限定して文字列を置換する
置換する数を限定して文字列を置換する方法もみていきましょう。
数を限定する場合、replaceメソッドの第三引数に、数値を指定します。
○コード例
fruit = 'banana apple watermelon yuzu'
print(fruit.replace(' ', '-', 2))
○実行結果
上記のコードでは「2」を指定することで、左から2回まで文字列を置換します。
そのため左から3番目の半角スペースは、置換されずそのままになっていますね。
このように数を限定する場合は、replaceメソッドの第三引数を活用しましょう。
Pythonで特定の文字列を削除する方法
続いてPythonで特定の文字列を置換ではなく削除する方法をみていきます。
以下の3つの項目に分けて解説します。
- 文字列を削除する
- 左端の文字列を削除する
- 右端の文字列を削除する
- 両端の文字列を削除する
置換も削除もやり方が似通っているので、一緒に覚えてしまうと良いでしょう。
文字列を削除する
まずは文字列を普通に削除するやり方をみていきましょう。
○コード例
fruit = 'banana&apple&watermelon&yuzu'
print(fruit.replace('&', ''))
○実行結果
文字列を削除する場合も、やはりreplaceメソッドが活躍します。
削除する場合は、上記のように第二引数に「”」と記入しましょう。
こうすることで、第一引数で指定した文字列を削除することが可能です。
左端の文字列を削除する
今度は左端の文字列のみを削除する方法をみていきます。
左端の文字列のみを削除する場合も、replaceメソッドを使うことができます。
しかし、今回はもっと便利な方法を紹介しましょう。
というのも、文字列の左端だけ、改行コードなどいらない物が付いていて削除したい場合は、非常に多いからです。
○コード例
fruit = '¥nbanana&apple&watermelon&yuzu'
print(fruit.lstrip("¥n"))
○実行結果
上記のコードでは、lstripメソッドというものを使っています。
lstripメソッドの引数に、削除した文字列を指定します。
その文字列が左端に合った場合、文字列を削除してくれます。
左端の文字列のみの削除なら、lstripメソッドが便利です。
右端の文字列を削除する
今度は逆に、右端の文字列のみを削除する方法をみていきましょう。
○コード例
fruit = 'banana&apple&watermelon&yuzu¥n'
print(fruit.rstrip("¥n"))
○実行結果
rstripメソッドを使うことで、右端の文字列を削除できます。
使い方はlstripメソッドと全く一緒ですね。
右端を削除するならrstrip、左端を削除するならlstrip、と覚えておきましょう。
両端の文字列を削除する
最後に両端の文字列を削除する方法を解説します。
○コード例
fruit = '¥nbanana&apple&watermelon&yuzu¥n'
print(fruit.strip("¥n"))
○実行結果
両端の文字列を削除したいなら、stripメソッドを利用します。
これで両端に改行コードが削除されました。
まとめ
本記事では文字列を置換する方法と、削除する方法を解説しました。
文字列を置換する場合や削除する場合は、replaceメソッドが非常に便利です。
また、lstrip、rstrip、stripの3つのメソッドの使い方も覚えておきましょう。
文字列を端に改行コードなどが入っている場合は多く、そういったものを削除する方法を覚えておくと、開発現場でも役立ちます。
次回は、pythonで正規表現を使った文字列の抽出について解説します。