logo

Hur man kontrollerar om en sträng är tom i Python

Python-strängar förblir oföränderliga, vilket innebär att vi kan ändra dem baserat på de operationer vi utför. Pythons viktigaste funktion är strängmanipulation. Många metoder, inklusive metoder för skärning av strängar, looping genom dess element och strängmetoder, kan användas för att ändra strängen. Det är viktigt att förstå att en sträng med mellanslag faktiskt är en tom sträng som inte är noll. Den frågan kommer att diskuteras i den här handledningen, såväl som en möjlig lösning. Som ett resultat, när vi använder endast() eller ' inte ' för att leta efter en tom sträng, räknar den faktiskt mellanslag som inget mindre än ett tecken i strängen, därför kommer en sträng med mellanslag inte att räknas som en tom sträng.

rad objekt i java

I Python kan vi använda ett av de grundläggande sätten som beskrivs nedan för att leta efter en tom sträng.

  1. Använder inte operatör
  2. Använder len()-funktionen
  3. Använder not + string.isspace()
  4. Använder len() + string.strip()
  5. Använda och + string.strip()
  6. Använder __eq__

Använder inte Operatör

De inte operatören utför samma jobb som endast() fungera. I Python är en tom sträng verkligen lika med False. De inte operatorn kan användas för att avgöra om en sträng verkligen är tom eller inte. De inte operation i Python förhindrar att strängen tolkas som en tom sträng om den innehåller mellanslag.

Exempel

Vi har använt två typsträngar, sträng1 och sträng2, i det här exemplet. Sträng2 har blanksteg och sträng1 är en tom sträng. Sedan använde vi ett 'om annat'-villkor för att kontrollera om den givna strängen är tom om den inte finns i strängen. Den är dock inte tom. Blanksteg behandlas inte som tomma strängar av not-operatorn, därför kommer utdata inte att vara en tom sträng för den andra inmatningssträngen. Äntligen har resultatet skrivits ut.

Koda:

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

Produktion:

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

Använder metoden len().

Vi kommer att använda pyton endast() funktion för att bestämma längden på strängen. Sedan, om längden på strängen är lika med 0, är ​​strängen tom; annars är det inte det. När du använder endast() teknik i Python betraktas strängen egentligen inte som en tom sträng om den innehåller mellanslag.

Exempel

Vi har använt två typsträngar, sträng1 och sträng2, i det här exemplet. Sträng2 har blanksteg och sträng1 är en tom sträng. Längden på varje sträng beräknades sedan med Pythons len() funktion. Sedan använde vi 'om-else'-slingan för att kontrollera om strängens längd är lika med noll, i vilket fall villkoret skriver ut att strängen är tom, och i så fall är utskriftssträngen inte tom. Blanksteg i strängen anses inte vara tomma av endast() , vilket resulterar i en inte tom sträng. Slutligen skrev vi ut resultatet av båda strängarna.

Koda:

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

Produktion:

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

Använder inte Operator + str.isspace()

Den letar efter blanksteg där i remsan på samma sätt som remsa() funktion gör. Dock, remsa() funktion tar lång tid i motsats till str. isspace() eftersom strip() måste utföra en strip-operation, vilket kräver mycket datorarbete.

Exempel

Vi har använt två typsträngar, sträng1 och sträng2, i det här exemplet. Sträng2 har blanksteg och sträng1 är en tom sträng. Villkoret 'om-else' har använts. Vi använde isspace() metod i villkoret if else, som kontrollerar alla strängmellanslag. Slutligen har utskriften skrivits ut och du kan se att båda strängarna är tomma.

Koda:

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

Produktion:

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

Använder len() + string.strip()

I Python, använd len() + string.strip() teknik för att verifiera för en helt tom sträng. Mellanrummet i en sträng tas bort med hjälp av string.strip() metod. Om det finns något utrymme i strängen, remsa() metoden tar bort det, och endast() funktionen kontrollerar om strängen är tom eller inte.

Exempel

Oavsett hur många mellanslag vi lägger i strängen, rensar den bort alla och verifierar längden på strängen; om den returnerar 0 är strängen tom; annars är det inte.

Koda:

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

Produktion:

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

Använda 'och' Operator + strip() Funktion

Vi har märkt att blanksteg i strängar inte alltid tolkas som tomma strängar. Så när vi använder remsa() funktion för att verifiera om strängen är tom, vi kan verkligen kontrollera om det finns blanksteg också.

Exempel

delsträng i java

Vi har använt två inmatningssträngar, sträng1 och sträng2, i det här exemplet. Sträng2 har blanksteg och sträng1 är en tom sträng. Vi använde sedan if-else condition och remsa() funktion för att se om strängen var tom eller inte. Om villkoret är False är strängen tom och block exekveras annars. Whitespace betraktas också som en tom sträng i denna metod. Äntligen har resultatet skrivits ut.

Koda:

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

Produktion:

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

Använder Strip()-funktionen

Vi har märkt att blanksteg i strängar inte alltid tolkas som tomma strängar. Så när vi använder remsa() funktion för att verifiera om strängen är tom, vi kan verkligen kontrollera om det finns blanksteg också.

java-strängar

Exempel

Vi har använt två inmatningssträngar, sträng1 och sträng2, i det här exemplet. Sträng1 har blanksteg och sträng2 är en tom sträng. Vi har använt ett if else-villkor för att ta bort strängarna, ta bort blanksteg och sedan returnera en tom sträng om strängen blir tom. Strängen är inte tom annars. Äntligen har resultatet skrivits ut.

Koda:

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

Produktion:

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

Använder metoden __eq__

Dundern identifierar metoder med två understreck före och efter deras namn. De __eq__ metoden kan också användas för att leta efter en tom sträng. När du ringer till __eq__ teknik i Python betraktas strängen inte som en tom sträng om den innehåller mellanslag.

Exempel

Vi har använt två inmatningssträngar, sträng1 och sträng2, i det här exemplet. Sträng2 har blanksteg och sträng1 är en tom sträng. De __eq__ funktionen har använts. I if-else-villkoret använde vi den givna metoden för att verifiera om strängen är tom eller inte. Äntligen har resultatet skrivits ut. Blanksteg behandlas inte som tomma strängar i detta tillvägagångssätt.

Koda:

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

Produktion:

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