Hur tar jag bort inledande och avslutande vitrymder från en sträng i Python?
Till exempel:
" Hello " --> "Hello"
" Hello" --> "Hello"
"Hello " --> "Hello"
"Bob has a cat" --> "Bob has a cat"
Bara ett mellanslag eller alla mellanslag i följd? Om det andra, har strängar redan en .strip()
-metod:
>>> ' 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'
Om du bara behöver ta bort ett mellanslag kan du göra det med:
def strip_one_space(s):
if s.endswith(" "): s = s[:-1]
if s.startswith(" "): s = s[1:]
return s
>>> strip_one_space(" Hello ")
' Hello'
Observera också att str.strip()
tar bort andra vitrymdstecken också (t.ex. tabulatorer och nya rader). För att endast ta bort mellanslag kan du ange det tecken som ska tas bort som ett argument till strip
, dvs:
>>> " Hello\n".strip(" ")
'Hello\n'
Detta tar bort alla inledande och avslutande vitrymder i myString
:
myString.strip()