Python: 文字列の前後のスペース等を除去する strip()

Pythonで文字列の先頭や末尾からスペース・タブ・改行などを取り除く場合は、 strip()メソッドを使います。書式は次の通りです。

書式
# スペース・タブ・改行などの空白文字を取り除く
文字列.strip()

# 指定文字を取り除く
文字列.strip(除去する文字)

引数を省略した場合は空白文字(スペース・タブ・改行など)を取り除きます。
戻り値は除去した後の文字列です。

サンプルコード

下の例では、前後の空白文字は取り除いていますが、 文字列中のスペース(abcとdeの間のスペース)はちゃんと残っているのが確認できます。

s = " abc de \n"

# 前後の空白文字を取り除く
s = s.strip()

print(s) # abc de

上の文字列 sから、前後のスペースは取り除きたいけど、 改行は取り除きたくない場合は次のようにスペースを指定します。

# スペースだけを取り除く場合
s = s.strip(" ")

削除文字を指定

次は具体的に削除する文字を指定した場合です。 空白文字以外の文字(今回は"%")を指定することもできます。

s = "%abcde%%"

# 指定文字を取り除く
s = s.strip("%")

print(s) # abcde

先頭だけ、末尾だけ取り除きたい場合

strip()は先頭と末尾の両方から指定文字を取り除きますが、 先頭からだけ取り除きたい場合はlstrip()、 末尾からだけ取り除きたい場合はrstrip()を使います。 それぞれ「strip」の前に「left の l(エル)」、「right の r」を付け加えます。

s = "--abc--"

print(s.strip("-"))  # abc

# lstrip
print(s.lstrip("-")) # abc--

# rstrip
print(s.rstrip("-")) # --abc



Python