こんな悩みを解決します。
Pythonのstripメソッドは不要な文字を削除できるメソッドです。よく使われるメソッドなので、この記事を読んで使えるようになってください。
こんにちは、学生フリーランスエンジニアのいのうえ(@inouelog)です!
この記事では
Pythonのstripメソッドの使い方
について解説します。
Pythonのstripメソッドは文字列や空白文字を削除する
Pythonのstripメソッドとは、与えられた文字列の両端の文字列や空白文字を削除するメソッドです。
空白文字とは、半角スペースや全角スペースが思い浮かぶでしょう。これら以外にも
があります。
文字列を削除する例を紹介します。例えば、stripに次の文字列を与えます。
‘aThis is a pen.a’
‘a’の文字列を指定すると、stripメソッドは
‘This is a pen.’
という文字列を返します。
Pythonのstripメソッドの使い方
Pythonのstripメソッドの構文は次のとおりです。
str.strip([chars])
引数charsは文字列です。引数を指定しないとNone(空白)が指定されます。
>>> ' This is a pen. '.strip('a')
'This is a pen.'
文字列を削除する
はじめに紹介した
‘aThis is a pen.a’
の文字列で、両端の’a’を削除するプログラムは次のとおりです。
>>> 'aThis is a pen.a'.strip('a')
'This is a pen.'
次に、先頭に’aaa’の文字列があり、末尾には’a’がない
‘aaaThis is a pen.’
という文字列を考えます。次のように引数の文字列は一つでも複数の文字を削除できます。
>>> 'aaaThis is a pen.'.strip('a')
'This is a pen.'
‘aaabThis is a pen.’
の文字列から’a’と’b’を削除するときは、引数を’ab’とします。
>>> 'aaabThis is a pen.'.strip('ab')
'This is a pen.'
引数の’ab’は
‘a’ と ’b’
を意味しています。
例えば、3種類以上なら、’abc’等にすればOKです。
空白文字を削除する
文字列を削除するときと同じようにして削除できます。
‘ This is a pen. ‘
という文字列から両端の半角スペースを削除するときは、引数に半角スペース(’ ‘)を指定します。
>>> ' This is a pen. '.strip(' ')
'This is a pen.'
また、デフォルトでNone(空白)が指定されるので、空白文字だけを削除するときは引数を指定してなくてもOKです。
>>> ' This is a pen. '.strip()
'This is a pen.'
>>> '\nThis is a pen.\n'.strip()
'This is a pen.'
>>> '\tThis is a pen.\t'.strip()
'This is a pen.'
も文字列の削除するときと同じようにしてできます。
>>> '\n\n\nThis is a pen.'.strip('\n')
'This is a pen.'
>>> '\n\n\n\tThis is a pen.'.strip()
'This is a pen.'
ちなみに、文字列の両端にはない文字列を削除して分割するときは、split関数を使います。
参考:lstrip, rstripメソッドの使い方
stripメソッドに似たメソッドに「lstrip」「rstrip」があります。
文字列や空白文字を削除するのはstripメソッドと同じですが、削除する位置が異なります。
メソッド | 削除する位置 | 由来 |
lstrip | 先頭 | ‘l’は’left(左側の)’から |
rstrip | 末尾 | ‘r’は’right(右側の)’から |
lstrip, rstripメソッドは両端に同じ文字列や空白文字を含む文字列で、先頭か末尾のどちらかを削除したいときに使います。
stripメソッドを使うと、両端が削除されて都合が悪いですよね。
>>> 'aaaThis is a pen.aaa'.lstrip('a')
'This is a pen.aaa'
>>> 'aaaThis is a pen.aaa'.rstrip('a')
'aaaThis is a pen.'
以上、『【Python】stripメソッドの使い方を解説【文字を削除】』でした。