本記事ではPythonのstrip関数の使い方を解説します。
strip()の使い方
strip()関数はPythonの組み込み関数で文字列の先頭と末尾から引数で指定した文字を削除します。
引数を指定しないと空白文字を削除します。
s = " hello world "
print(s.strip()) # "hello world" (前後の空白が削除される)
特定の文字を削除するには引数に渡します。
s = "---hello world---"
print(s.strip("-")) # "hello world" (前後の`-`が削除される)
単一の文字だけでなく、複数種類の文字も削除できます。この際に削除対象の文字の順番は関係ありません。
s = "xyzhello worldzyx"
print(s.strip("xyz")) # "hello world" (前後のx, y, zが削除される)
lstrip(), rstrip()
strip()に似ている関数としてlstrip()とrstrip()があります。
lstrip()
は左側(先頭)のみ削除rstrip()
は右側(末尾)のみ削除
s = " hello world "
print(s.lstrip()) # "hello world " (左側の空白のみ削除)
print(s.rstrip()) # " hello world" (右側の空白のみ削除)
注意点
strip() は 文字列の中間部分の文字は削除しない
strip()メソッドは先頭と末尾の文字だけを削除し、文字列の中間部分には影響しない例です。
s = " hello world "
print(s.strip()) # "hello world" (helloとworldの間の空白は削除しない)
strip() は元の文字列を変更しない(文字列はイミュータブル)
Pythonの文字列はイミュータブル(不変)なので、strip()は新しい文字列を返し、元の文字列は変更されないことを示す例です。
s = " hello "
s.strip()
print(s) # " hello "(元の文字列は変わらない)
まとめ
strip()
はユーザー入力の前後の空白を削除したり、ログ解析時に不要な記号を取り除くといった場面で活躍します。必要に応じてlstrip()
や rstrip()
と組み合わせて、文字列処理を行いましょう!