本記事では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 "(元の文字列は変わらない)
まとめ
Pythonのstrip()
関数は文字列の先頭と末尾から不要な文字を削除するための便利な機能です。引数なしで使うと空白文字を削除し、特定の文字を指定すると、その文字を前後から削除します。複数の文字も指定可能です。
また、lstrip()
とrstrip()
を使えば、それぞれ文字列の左側(先頭)と右側(末尾)のみから文字を削除できます。
注意点として、これらの関数は文字列の中間部分には影響せず、またPythonの文字列はイミュータブル(不変)なので、元の文字列は変更されません。新しい文字列を利用するには、返り値を変数に代入する必要があります。