今回は文字列の前後から任意の文字を除去する方法を紹介します。
- 前後から任意の文字を除去する: strip()メソッド
- 先頭から任意の文字を除去する: lstrip()メソッド
- 末尾から任意の文字を除去する: rstrip()メソッド
- 空白文字を除去する
- まとめ
- 参考
前後から任意の文字を除去する: strip()メソッド
文字列のstrip()
メソッドを使うと、文字列の前後(先頭と末尾)から任意の文字を除去できます。
使い方は以下の通りです。
文字列.strip(除去する文字)
実際に使ってみましょう。
>>> s = '!!!こんにちは!!!' >>> s.strip('!') 'こんにちは'
「こんにちは」の前後にはそれぞれ3つずつ!
がありますが、それらが除去されたことを確認できました。
このように、文字列前後の連続する任意の文字がまとめて除去されます。
なお、このメソッドは指定した文字を除去した新しい文字列を返すため、元の文字列s
はそのままです。
>>> # 元の文字列は変更されない >>> s '!!!こんにちは!!!'
複数の種類の文字を除去する
1つの文字だけでなく、複数の種類の文字の指定もできます。
たとえば!
と?
を除去したい場合は、次のようにstrip('!?')
とします。
>>> s = '!!!こんにちは???' >>> s.strip('!?') 'こんにちは'
文字列の前後にある!
と?
が除去されました。
strip()
メソッドは前後の文字を除去しましたが、先頭部分の文字のみ除去したい場合や、末尾部分の文字を除去したい場合もあります。
これにはlstrip()
メソッドやrstrip()
メソッドが使えます。
先頭から任意の文字を除去する: lstrip()メソッド
文字列の先頭部分から任意の文字を除去したい場合、lstrip()
メソッドが使えます。
これは以下のように、先頭部分から指定した文字を除去した文字列を返します。
>>> s = '!?!こんにちは?!?' >>> s.lstrip('!?') 'こんにちは?!?'
末尾から任意の文字を除去する: rstrip()メソッド
文字列の末尾部分から任意の文字を除去したい場合、rstrip()
メソッドが使えます。
これは以下のように、末尾部分から指定した文字を除去した文字列を返します。
>>> s = '!?!こんにちは?!?' >>> s.rstrip('!?') '!?!こんにちは'
なお、lstrip()
のl
はleft
(左)、rstrip()
のr
はright
(右)と考えれば覚えやすいです。
空白文字を除去する
これらのメソッドに引数を指定しなかった場合は、空白文字が除去対象となります。
これについてはこちらの記事で解説しています。
まとめ
- 前後から任意の文字を除去するには
strip()
メソッドを使う - 先頭から任意の文字を除去するには
lstrip()
メソッドを使う - 末尾から任意の文字を除去するには
rstrip()
メソッドを使う