logo

Hoe u kunt controleren of een string leeg is in Python

Python-strings blijven onveranderlijk, wat betekent dat we ze kunnen veranderen op basis van de bewerkingen die we uitvoeren. De belangrijkste functionaliteit van Python is stringmanipulatie. Er kunnen veel methoden worden gebruikt, waaronder string-slicing-benaderingen, het doorlussen van de elementen ervan en string-methoden, om de string te wijzigen. Het is essentieel om te begrijpen dat een string met spaties in feite een lege string is die niet nul is. Dat probleem wordt in deze tutorial besproken, evenals een mogelijke oplossing. Als gevolg hiervan, wanneer we de alleen() of ' niet ' om te controleren op een lege string, telt deze spatie feitelijk als niets minder dan een teken van de string. Daarom wordt een string met spatie niet als een lege string geteld.

In Python kunnen we een van de hieronder beschreven basismanieren gebruiken om te controleren op een lege string.

  1. Gebruikt geen operator
  2. De len()-functie gebruiken
  3. Gebruik not + string.isspace()
  4. Len() + string.strip() gebruiken
  5. Gebruik en + string.strip()
  6. __eq__ gebruiken

Gebruikt geen Operator

De niet operator voert hetzelfde werk uit als de alleen() functie. In Python is een lege string inderdaad gelijk aan False. De niet operator kan worden gebruikt om te bepalen of een string inderdaad leeg is of niet. De niet Een bewerking in Python voorkomt dat de string wordt geïnterpreteerd als een lege string als deze spaties bevat.

Voorbeeld

In dit voorbeeld hebben we twee typen strings gebruikt, string1 en string2. De string2 bevat spaties en string1 is een lege string. Vervolgens hebben we een 'if else'-voorwaarde gebruikt om te controleren of de gegeven string leeg is als deze niet in de string staat. Het is echter niet leeg. Witruimten worden door de not-operator niet als lege tekenreeksen behandeld, daarom zal de uitvoer geen lege tekenreeks zijn in het geval van een tweede invoertekenreeks. Eindelijk is het resultaat afgedrukt.

ins-sleutel

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') 

Uitgang:

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

Met behulp van de len()-methode

We gebruiken Python's alleen() functie om de lengte van de string te bepalen. Als de lengte van de string gelijk is aan 0, is de string leeg; anders is dat niet het geval. Bij gebruik van de alleen() techniek in Python wordt de string niet echt als een lege string beschouwd als deze spaties bevat.

Voorbeeld

In dit voorbeeld hebben we twee typen strings gebruikt, string1 en string2. De string2 bevat spaties en string1 is een lege string. De lengte van elke string werd vervolgens berekend met behulp van de len()-functie van Python. Vervolgens hebben we de 'if-else'-lus gebruikt om te controleren of de lengte van de string gelijk is aan nul, in welk geval de voorwaarde aangeeft dat de string leeg is, en in welk geval de printstring niet leeg is. Witruimten in de string worden door niet als leeg beschouwd alleen() , resulterend in een niet-lege string. Ten slotte hebben we het resultaat van beide strings afgedrukt.

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') 

Uitgang:

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

Gebruik niet Operator + str.isspace()

Het controleert op witruimte in de strip op dezelfde manier als de strip() functie doet. Echter, strip() functie duurt lang als je ertegen bent str. isruimte() omdat strip() een stripbewerking moet uitvoeren, wat veel computerwerk vereist.

Voorbeeld

In dit voorbeeld hebben we twee typen strings gebruikt, string1 en string2. De string2 heeft spaties en string1 is een lege string. Er is gebruik gemaakt van de 'if-else'-voorwaarde. Wij gebruikten de isruimte() methode in de if else-voorwaarde, die controleert op alle tekenreeksspaties. Ten slotte is de uitvoer afgedrukt en kunt u zien dat beide strings leeg zijn.

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') 

Uitgang:

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

Len() + string.strip() gebruiken

Gebruik in Python de len() + string.strip() techniek om te verifiëren voor een volledig lege string. De witruimte in een string wordt verwijderd met behulp van de tekenreeks.strip() methode. Als er een spatie in de string zit, wordt de strip() methode verwijdert het, en de alleen() functie controleert of de string leeg is of niet.

Voorbeeld

Ongeacht hoeveel spaties we in de string plaatsen, het verwijdert ze allemaal en verifieert de lengte van de string; als het 0 retourneert, is de string leeg; anders is het dat niet.

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') 

Uitgang:

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

Met behulp van 'en' Operator + strip() Functie

We hebben gemerkt dat spaties in tekenreeksen niet altijd als lege tekenreeksen worden geïnterpreteerd. Dus als we de strip() functie om te verifiëren of de string leeg is, we kunnen inderdaad ook op spaties controleren.

Voorbeeld

subtekenreeks in bash

In dit voorbeeld hebben we twee invoertekenreeksen gebruikt, string1 en string2. De string2 bevat spaties en string1 is een lege string. Vervolgens gebruikten we de if-else voorwaarde en de strip() functie om te zien of de string leeg was of niet. Als de voorwaarde False is, is de string leeg en worden blokken anders uitgevoerd. Witruimte wordt bij deze methode ook als een lege tekenreeks beschouwd. Eindelijk is het resultaat afgedrukt.

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') 

Uitgang:

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

De Strip()-functie gebruiken

We hebben gemerkt dat spaties in tekenreeksen niet altijd als lege tekenreeksen worden geïnterpreteerd. Dus als we de strip() functie om te verifiëren of de string leeg is, we kunnen inderdaad ook op spaties controleren.

Java voegt tekenreeksen samen

Voorbeeld

In dit voorbeeld hebben we twee invoertekenreeksen gebruikt, string1 en string2. De string1 heeft spaties en string2 is een lege string. We hebben een if else-voorwaarde gebruikt om de tekenreeksen te strippen, spaties te verwijderen en vervolgens een lege tekenreeks terug te geven als de tekenreeks leeg wordt. Anders is de string niet leeg. Eindelijk is het resultaat afgedrukt.

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') 

Uitgang:

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

Met behulp van de __eq__-methode

De dunder identificeert methoden met twee onderstrepingstekens voor en na hun naam. De __eq__ methode kan ook worden gebruikt om te controleren op een lege string. Bij het bellen naar de __eq__ techniek in Python wordt de string niet als een lege string beschouwd als deze spaties bevat.

Voorbeeld

In dit voorbeeld hebben we twee invoertekenreeksen gebruikt, string1 en string2. De string2 bevat spaties en string1 is een lege string. De __eq__ functie is gebruikt. In de if-else-voorwaarde hebben we de gegeven methode gebruikt om te verifiëren of de string leeg is of niet. Eindelijk is het resultaat afgedrukt. Bij deze aanpak worden witruimten niet als lege tekenreeksen behandeld.

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') 

Uitgang:

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