今回は、Pythonでstripを使って文字列を削除する方法についてご紹介します。
Pythonのstrip関数とは
Pythonのstrip関数は、文字列の先頭と末尾から不要な文字を削除するメソッドです。
例えば、空白文字や任意の文字を指定して削除できます。
文字列操作の基本的なテクニックのひとつなので、ぜひ覚えておきましょう。
stripの基本的な使い方
最もよく使われるパターンは空白文字(スペースやタブ、改行)を削除するケースです。
1 2 3 |
text = " Hello, Python! " result = text.strip() print(result) |
Hello, Python!
このようにstrip()を呼び出すと、文字列の前後に含まれる空白が削除されます。
中央(文字列の途中)の空白はそのままになる点に注意が必要です。
特定の文字を削除する方法
strip関数に文字列を渡すと、指定した文字列に含まれる文字が、先頭と末尾からすべて削除されます。
1 2 3 |
text = "xxHello, Python!xx" result = text.strip("x") print(result) |
Hello, Python!
この例では、文字列の先頭と末尾にある“x”が全て取り除かれます。
複数文字の削除
複数の文字をまとめて指定する場合は、strip(“abc”)のように書きます。
1 2 3 |
text = "abcHello, Python!cba" result = text.strip("abc") print(result) |
Hello, Python!
“a”・”b”・”c”のいずれかがある場合、それらがすべて削除されます。
lstripとrstripの違い
lstrip()は先頭側だけ、rstrip()は末尾側だけを削除します。
1 2 3 4 5 6 |
text = " Hello, Python! " left_removed = text.lstrip() # 左側のみ空白を削除 right_removed = text.rstrip() # 右側のみ空白を削除 print(left_removed) print(right_removed) |
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も使い分けるのがポイントです。
エラーを防ぐためにも、対象となるデータの型や内容は事前にチェックしておきましょう。