1. ホーム
  2. python

[解決済み] 文字列から空白を取り除くには?

2022-03-16 20:10:25

質問

Pythonで文字列から先頭と末尾の空白を取り除くにはどうしたらいいですか?

例えば

" Hello " --> "Hello"
" Hello"  --> "Hello"
"Hello "  --> "Hello"
"Bob has a cat" --> "Bob has a cat"

解決方法は?

スペースは1つだけですか、それともすべて連続したスペースですか?もし2つ目なら、文字列はすでに .strip() メソッドを使用します。

>>> ' Hello '.strip()
'Hello'
>>> ' Hello'.strip()
'Hello'
>>> 'Bob has a cat'.strip()
'Bob has a cat'
>>> '   Hello   '.strip()  # ALL consecutive spaces at both ends removed
'Hello'

しかし、スペースを1つだけ削除する必要がある場合、次のようにすることができます。

def strip_one_space(s):
    if s.endswith(" "): s = s[:-1]
    if s.startswith(" "): s = s[1:]
    return s

>>> strip_one_space("   Hello ")
'  Hello'

また、以下の点に注意してください。 str.strip() は他の空白文字も削除します(例:タブ、改行)。空白文字のみを削除する場合は、削除する文字を strip , すなわち:

>>> "  Hello\n".strip(" ")
'Hello\n'