PR

【Python】stripメソッドの使い方を解説【文字を削除】

アイキャッチ画像
この記事で解決できる悩み
  • Pythonのstripメソッドの使い方を知りたい

こんな悩みを解決します。

Pythonのstripメソッドは不要な文字を削除できるメソッドです。よく使われるメソッドなので、この記事を読んで使えるようになってください。

いのうえ
いのうえ

こんにちは、学生フリーランスエンジニアのいのうえ(@inouelog)です!

この記事では

Pythonのstripメソッドの使い方

について解説します。

Pythonのstripメソッドは文字列や空白文字を削除する

Pythonのstripメソッドとは、与えられた文字列の両端の文字列や空白文字を削除するメソッドです。

空白文字とは、半角スペースや全角スペースが思い浮かぶでしょう。これら以外にも

  • 改行(\n)
  • タブ(\t)
  • 改ページ(\f)
  • 垂直タブ(\v)
  • 復帰(\r)

があります。

文字列を削除する例を紹介します。例えば、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.'
  • 引数の空白文字が一つでも複数の空白文字の削除
  • 2種類以上の空白文字の削除

も文字列の削除するときと同じようにしてできます。

>>> '\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の違い

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メソッドの使い方を解説【文字を削除】』でした。