Hoe verwijder ik voorloopwit en achterloopwit uit een string in Python?
Bijvoorbeeld:
" Hello " --> "Hello"
" Hello" --> "Hello"
"Hello " --> "Hello"
"Bob has a cat" --> "Bob has a cat"
Slechts één spatie, of alle spaties achter elkaar? Als het tweede, dan hebben strings al een .strip()
methode:
>>> ' 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'
Als je echter maar één spatie hoeft te verwijderen, dan zou je dat kunnen doen met:
def strip_one_space(s):
if s.endswith(" "): s = s[:-1]
if s.startswith(" "): s = s[1:]
return s
>>> strip_one_space(" Hello ")
' Hello'
Merk ook op dat str.strip()
ook andere spaties verwijdert (bijv. tabs en nieuwe regels). Om alleen spaties te verwijderen, kun je het te verwijderen teken specificeren als argument voor strip
, bijv:
>>> " Hello\n".strip(" ")
'Hello\n'
Dit verwijdert alle voorloop en achterloop witruimte in mijnString
:
myString.strip()