文字列処理

[Python] stripを使って文字列を削除する方法

今回は、Pythonでstripを使って文字列を削除する方法についてご紹介します。

Pythonのstrip関数とは

Pythonのstrip関数は、文字列の先頭と末尾から不要な文字を削除するメソッドです。

例えば、空白文字や任意の文字を指定して削除できます。

文字列操作の基本的なテクニックのひとつなので、ぜひ覚えておきましょう。

stripの基本的な使い方

最もよく使われるパターンは空白文字(スペースやタブ、改行)を削除するケースです。

実行結果

Hello, Python!

このようにstrip()を呼び出すと、文字列の前後に含まれる空白が削除されます。

中央(文字列の途中)の空白はそのままになる点に注意が必要です。

特定の文字を削除する方法

strip関数に文字列を渡すと、指定した文字列に含まれる文字が、先頭と末尾からすべて削除されます。

実行結果

Hello, Python!

この例では、文字列の先頭と末尾にある“x”が全て取り除かれます。

複数文字の削除

複数の文字をまとめて指定する場合は、strip(“abc”)のように書きます。

実行結果

Hello, Python!

“a”・”b”・”c”のいずれかがある場合、それらがすべて削除されます。

lstripとrstripの違い

lstrip()は先頭側だけ、rstrip()は末尾側だけを削除します。

実行結果

 Hello, Python!
Hello, Python! 

「どちら側だけ削除したい」という場合は、lstrip()rstrip()を使って対処します。

よくあるエラー

stripやlstrip、rstripを使う際に発生しがちなエラーをまとめます。

  • AttributeError: ‘NoneType’ object has no attribute ‘strip’

これは、stripを呼び出す変数がNoneの場合に起きるエラーです。

例えば、関数の戻り値や辞書の取得値がNoneになっている可能性があります。

事前に型チェックを行うことで回避できる場合が多いです。

  • TypeError: a bytes-like object is required, not ‘str’

Python 3系で、バイト文字列(bytes型)と通常の文字列(str型)を区別していないと起こる場合があります。

この場合は、必要に応じてdecodeまたはencodeを使い、型を正しく変換しましょう。

まとめ

Pythonのstrip関数は、文字列操作を効率的に行う上で欠かせない存在です。

先頭と末尾から不要な文字を除去し、必要に応じてlstripやrstripも使い分けるのがポイントです。

エラーを防ぐためにも、対象となるデータの型や内容は事前にチェックしておきましょう。