2010-03-08 7 views

Antwort

191
yourString.isspace() 

„true zurück, wenn es nur Leerzeichen sind in die Zeichenfolge und es gibt mindestens ein Zeichen, ansonsten falsch. "

Kombinieren Sie das mit einem speziellen Fall für die Handhabung der leeren Zeichenfolge.

Alternativ können Sie

strippedString = yourString.strip() 

verwenden und dann prüfen, ob strippedString leer.

+0

Dies scheitert in Python 2.4, wenn der String eine non-breaking Leerzeichen enthält, charCode 'U + 00A0' oder' ALT + 160'. Sieht jedoch in Python 2.7 behoben aus. – Kumba

+6

Beachten Sie, dass dies nicht nach "None" oder " –

+1

" überprüft. In Python 2.7.13 berücksichtigt isspace() nicht-brechenden Speicherplatz als Leerzeichen. Nett! –

38
>>> tests = ['foo', ' ', '\r\n\t', '', None] 
>>> [bool(not s or s.isspace()) for s in tests] 
[False, True, True, True, True] 
>>> 
14

Sie wollen

str die isspace() Methode verwenden.

Geben Sie true zurück, wenn nur Leerzeichen in der Zeichenfolge vorhanden sind und mindestens ein Zeichen, ansonsten false.

Dies ist für jedes String-Objekt definiert. Hier ist ein Anwendungsbeispiel für Ihren spezifischen Anwendungsfall:

3

Überprüfen Sie die Länge der Liste von Split() -Methode.

if (len(your_string.split())==0: 
    print("yes") 

Oder Vergleichen Ausgang des Streifens() Methode mit null.

if (your_string.strip())=='': 
    print("yes") 
+0

Es gibt keinen Grund, den String zu teilen, 'len()' funktioniert bei Strings.Außerdem wollte das OP nicht nach der leeren Zeichenfolge suchen, sondern nach einer Zeichenfolge, die alle Leerzeichen enthielt. Ihre zweite Methode ist jedoch nicht schlecht. Auch Ihre Parens, die die Bedingung umgeben, werden in Python nicht benötigt. – NeilK

+0

Seltsamerweise ist die erste Methode tatsächlich eine gute Möglichkeit zu überprüfen, dass * none * der Zeichen Leerzeichen sind, wenn Sie "== 0" durch "== 1" ersetzen –

0

ich in Ihrem Szenario unter der Annahme bin, ein leerer String ist eine Zeichenfolge, die wirklich leer ist oder eine, die enthält alles Leerraum.

if(str.strip()): 
    print("string is not empty") 
else: 
    print("string is empty") 

Hinweis: dieser sucht nicht nach None

Verwandte Themen