1363 Stimmen

Wie kann ich Leerzeichen aus einer Zeichenkette entfernen?

Wie entferne ich führende und nachgestellte Leerzeichen aus einer Zeichenkette in Python?

" Hello world " --> "Hello world"
" Hello world"  --> "Hello world"
"Hello world "  --> "Hello world"
"Hello world"   --> "Hello world"

0voto

Kushan Gunasekera Punkte 3807

Wie entferne ich führende und nachgestellte Leerzeichen aus einer Zeichenkette in Python?

Die folgende Lösung entfernt also führende und nachgestellte Leerzeichen sowie dazwischen liegende Leerzeichen ebenfalls. Zum Beispiel, wenn Sie eine klare Zeichenkette Werte ohne mehrere Leerzeichen erhalten müssen.

>>> str_1 = '     Hello World'
>>> print(' '.join(str_1.split()))
Hello World
>>>
>>>
>>> str_2 = '     Hello      World'
>>> print(' '.join(str_2.split()))
Hello World
>>>
>>>
>>> str_3 = 'Hello World     '
>>> print(' '.join(str_3.split()))
Hello World
>>>
>>>
>>> str_4 = 'Hello      World     '
>>> print(' '.join(str_4.split()))
Hello World
>>>
>>>
>>> str_5 = '     Hello World     '
>>> print(' '.join(str_5.split()))
Hello World
>>>
>>>
>>> str_6 = '     Hello      World     '
>>> print(' '.join(str_6.split()))
Hello World
>>>
>>>
>>> str_7 = 'Hello World'
>>> print(' '.join(str_7.split()))
Hello World

Wie Sie sehen können, werden dadurch alle mehrfachen Leerzeichen in der Zeichenkette entfernt (die Ausgabe ist Hello World für alle). Der Standort spielt keine Rolle. Wenn Sie aber wirklich führende und nachgestellte Leerzeichen benötigen, dann strip() gefunden werden.

-1voto

Marjan Punkte 1

Ich wollte die zu vielen Leerzeichen in einer Zeichenfolge entfernen (auch zwischen den Zeichenfolgen, nicht nur am Anfang oder Ende). Ich habe dies gemacht, weil ich nicht weiß, wie man es anders macht:

string = "Name : David         Account: 1234             Another thing: something  " 

ready = False
while ready == False:
    pos = string.find("  ")
    if pos != -1:
       string = string.replace("  "," ")
    else:
       ready = True
print(string)

Dadurch werden doppelte Leerzeichen durch ein Leerzeichen ersetzt, bis Sie keine doppelten Leerzeichen mehr haben.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X