logo

So überprüfen Sie in Python, ob ein String leer ist

Python-Strings bleiben unveränderlich, was bedeutet, dass wir sie basierend auf den von uns ausgeführten Operationen ändern können. Die wichtigste Funktionalität von Python ist die String-Manipulation. Viele Methoden, darunter String-Slicing-Ansätze, das Durchlaufen seiner Elemente und String-Methoden, können zum Ändern des Strings verwendet werden. Es ist wichtig zu verstehen, dass eine Zeichenfolge mit Leerzeichen tatsächlich eine leere Zeichenfolge mit einer Länge ungleich Null ist. Dieses Problem und eine mögliche Lösung werden in diesem Tutorial besprochen. Als Ergebnis, wenn wir das verwenden nur() oder ' nicht '-Operator, um nach einer leeren Zeichenfolge zu suchen, zählt Leerzeichen tatsächlich als nichts weniger als ein Zeichen der Zeichenfolge, daher wird eine Zeichenfolge mit Leerzeichen nicht als leere Zeichenfolge gezählt.

In Python können wir eine der unten beschriebenen grundlegenden Methoden verwenden, um nach einer leeren Zeichenfolge zu suchen.

  1. Nicht-Operator verwenden
  2. Verwendung der Funktion len()
  3. Verwendung von not + string.isspace()
  4. Verwendung von len() + string.strip()
  5. Verwenden von und + string.strip()
  6. Verwenden von __eq__

Es wird kein Operator verwendet

Der nicht Der Bediener führt die gleiche Aufgabe aus wie der nur() Funktion. In Python ist ein leerer String tatsächlich gleich False. Der nicht Mit dem Operator kann ermittelt werden, ob eine Zeichenfolge tatsächlich leer ist oder nicht. Der nicht Die Operation in Python verhindert, dass die Zeichenfolge als leere Zeichenfolge interpretiert wird, wenn sie Leerzeichen enthält.

Beispiel

In diesem Beispiel haben wir zwei Zeichenfolgentypen verwendet, string1 und string2. Die Zeichenfolge2 enthält Leerzeichen und Zeichenfolge1 ist eine leere Zeichenfolge. Dann haben wir eine „if else“-Bedingung verwendet, um zu prüfen, ob die angegebene Zeichenfolge leer ist, wenn sie nicht in der Zeichenfolge enthalten ist. Es ist jedoch nicht leer. Leerzeichen werden vom Not-Operator nicht als leere Zeichenfolgen behandelt, daher ist die Ausgabe im Fall der zweiten Eingabezeichenfolge keine leere Zeichenfolge. Abschließend wurde das Ergebnis gedruckt.

Code:

 #taking an empty string and a string with spaces only string1 = '' string2 = ' ' if not string1: print(f'string, string1 = '{string1}', with no spaces is empty') else: print(f'string, string1 = '{string1}', with no spaces is not empty') if not string2: print(f'string, string2 = '{string2}', with spaces is empty') else: print(f'string, string2 = '{string2}', with spaces is not empty') 

Ausgabe:

 string, string1 = '', with no spaces is empty string, string2 = ' ', with spaces is not empty 

Verwendung der len()-Methode

Wir werden Pythons verwenden nur() Funktion zur Bestimmung der Länge der Zeichenfolge. Wenn dann die Länge der Zeichenfolge gleich 0 ist, ist die Zeichenfolge leer. andernfalls ist es nicht so. Bei Verwendung des nur() Bei dieser Technik in Python wird die Zeichenfolge nicht wirklich als leere Zeichenfolge betrachtet, wenn sie Leerzeichen enthält.

Beispiel

In diesem Beispiel haben wir zwei Zeichenfolgentypen verwendet, string1 und string2. Die Zeichenfolge2 enthält Leerzeichen und Zeichenfolge1 ist eine leere Zeichenfolge. Die Länge jeder Zeichenfolge wurde dann mit der Python-Funktion len() berechnet. Dann haben wir die „if-else“-Schleife verwendet, um zu prüfen, ob die Länge der Zeichenfolge gleich Null ist. In diesem Fall gibt die Bedingung aus, dass die Zeichenfolge leer ist, und in diesem Fall ist die Druckzeichenfolge nicht leer. Leerzeichen in der Zeichenfolge werden von nicht als leer betrachtet nur() , was zu einer nicht leeren Zeichenfolge führt. Schließlich haben wir das Ergebnis beider Zeichenfolgen gedruckt.

Code:

 #taking an empty string and a string with spaces only string1 = '' string2 = ' ' length1 = len(string1) length2 = len(string2) if length1 == 0: print(f'string, string1 = '{string1}', with no spaces is empty') else: print(f'string, string1 = '{string1}', with no spaces is not empty') if length2 == 0: print(f'string, string2 = '{string2}', with spaces is empty') else: print(f'string, string2 = '{string2}', with spaces is not empty') 

Ausgabe:

 string, string1 = '', with no spaces is empty string, string2 = ' ', with spaces is not empty 

Verwendung von not Operator + str.isspace()

Es sucht dort im Strip auf die gleiche Weise nach Leerzeichen wie das Streifen() Funktion tut es. Jedoch, Streifen() Die Funktion dauert im Gegensatz dazu sehr lange str. isspace() da strip() eine Strip-Operation ausführen muss, was viel Rechenarbeit erfordert.

Beispiel

Algorithmus der binären Suche

In diesem Beispiel haben wir zwei Zeichenfolgentypen verwendet, string1 und string2. Die Zeichenfolge2 enthält Leerzeichen und Zeichenfolge1 ist eine leere Zeichenfolge. Es wurde die „if-else“-Bedingung verwendet. Wir haben das genutzt isspace() Methode in der if else-Bedingung, die prüft, ob alle Zeichenfolgenleerzeichen vorhanden sind. Schließlich wurde die Ausgabe gedruckt und Sie können sehen, dass beide Zeichenfolgen leer sind.

Code:

 #taking an empty string and a string with spaces only string1 = '' string2 = ' ' if string1 and not string1.isspace(): print(f'string, string1 = '{string1}', with no spaces is empty') else: print(f'string, string1 = '{string1}', with no spaces is not empty') if string2 and not string2.isspace(): print(f'string, string2 = '{string2}', with spaces is empty') else: print(f'string, string2 = '{string2}', with spaces is not empty') 

Ausgabe:

 string, string1 = '', with no spaces is not empty string, string2 = ' ', with spaces is not empty 

Verwendung von len() + string.strip()

Verwenden Sie in Python die len() + string.strip() Technik zur Überprüfung auf eine vollständig leere Zeichenfolge. Das Leerzeichen in einer Zeichenfolge wird mit entfernt string.strip() Methode. Wenn in der Zeichenfolge ein Leerzeichen vorhanden ist, wird das Streifen() Methode entfernt es und die nur() Funktion prüft, ob die Zeichenfolge leer ist oder nicht.

Beispiel

Unabhängig davon, wie viele Leerzeichen wir in die Zeichenfolge einfügen, werden sie alle entfernt und die Länge der Zeichenfolge überprüft. wenn es 0 zurückgibt, ist die Zeichenfolge leer; sonst ist es nicht so.

Code:

 #taking an empty string and a string with spaces only string1 = '' string2 = ' ' if len(string1.strip()): print(f'string, string1 = '{string1}', with no spaces is not empty') else: print(f'string, string1 = '{string1}', with no spaces is empty') if len(string2.strip()): print(f'string, string2 = '{string2}', with spaces is not empty') else: print(f'string, string2 = '{string2}', with spaces is empty') 

Ausgabe:

 string, string1 = '', with no spaces is empty string, string2 = ' ', with spaces is empty 

Verwendung des „and“-Operators + der Funktion „strip()“.

Wir haben festgestellt, dass Leerzeichen in Zeichenfolgen nicht immer als leere Zeichenfolgen interpretiert werden. Wenn wir also das verwenden Streifen() Funktion, um zu überprüfen, ob die Zeichenfolge leer ist, können wir tatsächlich auch nach Leerzeichen suchen.

Beispiel

In diesem Beispiel haben wir zwei Eingabezeichenfolgen verwendet, Zeichenfolge1 und Zeichenfolge2. Die Zeichenfolge2 enthält Leerzeichen und Zeichenfolge1 ist eine leere Zeichenfolge. Wir haben dann die if-else-Bedingung und die verwendet Streifen() Funktion, um zu sehen, ob die Zeichenfolge leer war oder nicht. Wenn die Bedingung „Falsch“ ist, ist die Zeichenfolge leer und ansonsten werden Blöcke ausgeführt. Leerzeichen werden in dieser Methode auch als leere Zeichenfolge betrachtet. Abschließend wurde das Ergebnis gedruckt.

Code:

 #input empty with and without spaces string s = '' str = ' ' if string1 and string1.strip(): print(f'string, string1 = '{string1}', with no spaces is not empty') else: print(f'string, string1 = '{string1}', with no spaces is empty') if string2 and string2.strip(): print(f'string, string2 = '{string2}', with spaces is not empty') else: print(f'string, string2 = '{string2}', with spaces is empty') 

Ausgabe:

 string, string1 = '', with no spaces is empty string, string2 = ' ', with spaces is empty 

Verwenden der Strip()-Funktion

Wir haben festgestellt, dass Leerzeichen in Zeichenfolgen nicht immer als leere Zeichenfolgen interpretiert werden. Wenn wir also das verwenden Streifen() Funktion, um zu überprüfen, ob die Zeichenfolge leer ist, können wir tatsächlich auch nach Leerzeichen suchen.

Beispiel

In diesem Beispiel haben wir zwei Eingabezeichenfolgen verwendet, Zeichenfolge1 und Zeichenfolge2. Die Zeichenfolge1 enthält Leerzeichen und Zeichenfolge2 ist eine leere Zeichenfolge. Wir haben eine if else-Bedingung verwendet, um die Zeichenfolgen zu entfernen, Leerzeichen zu entfernen und dann eine leere Zeichenfolge zurückzugeben, wenn die Zeichenfolge leer wird. Ansonsten ist die Zeichenfolge nicht leer. Abschließend wurde das Ergebnis gedruckt.

Code:

 #input empty with and without spaces string s = '' str = ' ' if string1.strip(): print(f'string, string1 = '{string1}', with no spaces is not empty') else: print(f'string, string1 = '{string1}', with no spaces is empty') if string2.strip(): print(f'string, string2 = '{string2}', with spaces is not empty') else: print(f'string, string2 = '{string2}', with spaces is empty') 

Ausgabe:

 string, string1 = '', with no spaces is empty string, string2 = ' ', with spaces is empty 

Verwendung der __eq__-Methode

Der Dunder identifiziert Methoden mit zwei Unterstrichen vor und nach ihrem Namen. Der __eq__ Die Methode kann auch verwendet werden, um nach einer leeren Zeichenfolge zu suchen. Beim Aufruf des __eq__ In Python wird die Zeichenfolge nicht als leere Zeichenfolge betrachtet, wenn sie Leerzeichen enthält.

tring zu int

Beispiel

In diesem Beispiel haben wir zwei Eingabezeichenfolgen verwendet, Zeichenfolge1 und Zeichenfolge2. Die Zeichenfolge2 enthält Leerzeichen und Zeichenfolge1 ist eine leere Zeichenfolge. Der __eq__ Funktion verwendet wurde. In der if-else-Bedingung haben wir die angegebene Methode verwendet, um zu überprüfen, ob die Zeichenfolge leer ist oder nicht. Abschließend wurde das Ergebnis gedruckt. Leerzeichen werden bei diesem Ansatz nicht als leere Zeichenfolgen behandelt.

Code:

 #taking an empty string and a string with spaces only string1 = '' string2 = ' ' if ''.__eq__(string1): print(f'string, string1 = '{string1}', with no spaces is empty') else: print(f'string, string1 = '{string1}', with no spaces is not empty') if ''.__eq__(string2): print(f'string, string1 = '{string2}', with no spaces is empty') else: print(f'string, string1 = '{string2}', with no spaces is not empty') 

Ausgabe:

 string, string1 = '', with no spaces is empty string, string1 = ' ', with no spaces is not empty