Frage Wie trimme ich Leerzeichen aus einer Python-Zeichenfolge?


Wie entferne ich führende und nachfolgende Leerzeichen aus einer Zeichenfolge in Python?

Beispielsweise:

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

922
2018-04-17 19:16


Ursprung


Antworten:


Nur ein Raum oder alle diese Räume? Wenn die zweite, dann haben Strings bereits eine .strip() Methode:

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

Wenn Sie nur ein Leerzeichen entfernen möchten, können Sie Folgendes 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 das str.strip() entfernt auch andere Leerzeichen (z. B. Tabulatoren und Zeilenumbrüche). Um nur Leerzeichen zu entfernen, können Sie das zu entfernende Zeichen als Argument angeben strip, d.h.

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

1402
2018-04-17 19:21



Wie in den Antworten oben ausgeführt

myString.strip()

entfernt alle führenden und nachfolgenden Leerzeichen wie \ n, \ r, \ t, \ f, space.

Für mehr Flexibilität verwenden Sie Folgendes

  • Entfernt nur führend Leerzeichen Zeichen: myString.lstrip()
  • Entfernt nur schleppend Leerzeichen Zeichen: myString.rstrip()
  • Entfernt Spezifisch Leerzeichen Zeichen: myString.strip('\n') oder myString.lstrip('\n\r') oder myString.rstrip('\n\t') und so weiter.

Weitere Details finden Sie in der Dokumente


222
2018-05-18 04:16



strip ist nicht auf Leerzeichen begrenzt:

# remove all leading/trailing commas, periods and hyphens
title = title.strip(',.-')

101
2018-04-17 13:22



myString.strip()

44
2018-04-17 19:19



Sie möchten strip ():

myphrases = [ " Hello ", " Hello", "Hello ", "Bob has a cat" ]

for phrase in myphrases:
    print phrase.strip()

20
2018-04-17 19:21



Es gibt auch einen Weg, dies ohne diese Funktion zu tun

string = "Hello Wor l d "
tmp_list = []
for char in string:
    if char != " ":
    tmp_list +=char
final_string = "".join(tmp_list)
print final_string

Aber ist nur zum Spaß :)


0
2018-01-17 05:36