Wie entferne ich führende und nachgestellte Leerzeichen aus einer Zeichenkette in Python?
Zum Beispiel:
" Hello " --> "Hello"
" Hello" --> "Hello"
"Hello " --> "Hello"
"Bob has a cat" --> "Bob has a cat"
Nur ein Leerzeichen, oder alle aufeinanderfolgenden Leerzeichen? Wenn die zweite, dann Strings haben bereits eine .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'
Wenn Sie jedoch nur ein Leerzeichen entfernen müssen, können Sie dies mit der folgenden Methode tun:
def strip_one_space(s):
if s.endswith(" "): s = s[:-1]
if s.startswith(" "): s = s[1:]
return s
>>> strip_one_space(" Hello ")
' Hello'
Beachten Sie auch, dass str.strip()
auch andere Leerzeichen entfernt (z.B. Tabulatoren und Zeilenumbrüche). Um nur Leerzeichen zu entfernen, können Sie das zu entfernende Zeichen als Argument für strip
angeben, d.h.:
>>> " Hello\n".strip(" ")
'Hello\n'
Dies entfernt alle führenden und abschließenden Leerzeichen in myString
:
myString.strip()