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'
これは、myString
の先頭と末尾のホワイトスペースを すべて 削除します。
myString.strip()