logo

Sådan kontrolleres, om en streng er tom i Python

Python-strenge forbliver uforanderlige, hvilket betyder, at vi kan ændre dem baseret på de operationer, vi udfører. Pythons vigtigste funktionalitet er strengmanipulation. Mange metoder, herunder tilgange til udskæring af strenge, looping gennem dens elementer og strengmetoder, kan bruges til at ændre strengen. Det er vigtigt at forstå, at en streng med mellemrum faktisk er en tom streng, der ikke er nul. Det spørgsmål vil blive diskuteret i denne tutorial, samt en mulig løsning. Som et resultat, når vi bruger kun() eller ' ikke ' for at tjekke for en tom streng, tæller den faktisk mellemrum som intet mindre end et tegn i strengen, derfor vil en streng med mellemrum ikke blive talt som en tom streng.

I Python kan vi bruge en af ​​de grundlæggende måder, der er beskrevet nedenfor, til at tjekke for en tom streng.

  1. Bruger ikke operatør
  2. Bruger len() funktion
  3. Bruger not + string.isspace()
  4. Brug af len() + string.strip()
  5. Brug og + string.strip()
  6. Brug af __eq__

Bruger ikke operatør

Det ikke operatør udfører samme job som kun() fungere. I Python er en tom streng faktisk lig med False. Det ikke operator kan bruges til at bestemme, om en streng faktisk er tom eller ej. Det ikke operation i Python forhindrer strengen i at blive fortolket som en tom streng, hvis den indeholder mellemrum.

Eksempel

Vi har brugt to type strenge, streng1 og streng2, i dette eksempel. Strengen2 har mellemrum, og streng1 er en tom streng. Så brugte vi en 'hvis andet'-betingelse til at kontrollere, om den givne streng er tom, hvis den ikke er i strengen. Den er dog ikke tom. Mellemrum behandles ikke som tomme strenge af not-operatøren, og outputtet vil derfor ikke være en tom streng i tilfælde af anden inputstreng. Endelig er resultatet blevet printet.

knap i center css

Kode:

 #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 

Bruger len() metoden

Vi bruger python kun() funktion til at bestemme længden af ​​strengen. Så, hvis længden af ​​strengen er lig med 0, er strengen tom; ellers er det ikke. Ved brug af kun() teknik i Python, betragtes strengen ikke rigtig som en tom streng, hvis den indeholder mellemrum.

Eksempel

Vi har brugt to type strenge, streng1 og streng2, i dette eksempel. Strengen2 har mellemrum, og streng1 er en tom streng. Længden af ​​hver streng blev derefter beregnet ved hjælp af Pythons len() funktion. Så brugte vi 'hvis-else'-løkken til at kontrollere, om strengens længde er lig med nul, i hvilket tilfælde betingelsen udskriver, at strengen er tom, og i så fald er udskriftsstrengen ikke tom. Mellemrum i strengen betragtes ikke som tomme af kun() , hvilket resulterer i en ikke tom streng. Til sidst udskrev vi resultatet af begge strenge.

Kode:

 #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 

Bruger ikke Operator + str.isspace()

Den tjekker for mellemrum der i strimlen på samme måde som strip() funktion gør. Imidlertid, strip() funktion tager lang tid i modsætning til str. isspace() da strip() skal udføre en strip-operation, hvilket kræver meget computerarbejde.

Eksempel

Vi har brugt to type strenge, streng1 og streng2, i dette eksempel. Strengen2 har mellemrum, og streng1 er en tom streng. Betingelsen 'hvis-else' er blevet brugt. Vi brugte isspace() metode i if else-tilstanden, som kontrollerer for alle strengmellemrum. Endelig er outputtet blevet udskrevet, og du kan se, at begge strenge er tomme.

Kode:

 #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 

Brug af len() + string.strip()

I Python skal du bruge len() + string.strip() teknik til at verificere for en helt tom streng. Mellemrummet i en streng fjernes ved hjælp af string.strip() metode. Hvis der er plads i strengen, strip() metode fjerner det, og kun() funktion kontrollerer, om strengen er tom eller ej.

Eksempel

Uanset hvor mange mellemrum vi sætter i strengen, fjerner den dem alle og verificerer længden af ​​strengen; hvis den returnerer 0, er strengen tom; ellers er det ikke.

Kode:

 #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 

Brug af 'og' Operator + strip() Funktion

Vi har bemærket, at mellemrum i strenge ikke altid fortolkes som tomme strenge. Så når vi bruger strip() funktion til at kontrollere, om strengen er tom, kan vi faktisk også tjekke for mellemrum.

Eksempel

Vi har brugt to inputstrenge, streng1 og streng2, i dette eksempel. Strengen2 har mellemrum, og streng1 er en tom streng. Vi brugte derefter if-else tilstand og den strip() funktion for at se, om strengen var tom eller ej. Hvis betingelsen er falsk, er strengen tom, og blokke udføres ellers. Whitespace betragtes også som en tom streng i denne metode. Endelig er resultatet blevet printet.

Kode:

 #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 

Brug af Strip()-funktionen

Vi har bemærket, at mellemrum i strenge ikke altid fortolkes som tomme strenge. Så når vi bruger strip() funktion til at kontrollere, om strengen er tom, kan vi faktisk også tjekke for mellemrum.

Eksempel

Vi har brugt to inputstrenge, streng1 og streng2, i dette eksempel. Strengen1 har mellemrum, og streng2 er en tom streng. Vi har brugt en if else-betingelse til at fjerne strengene, fjerne mellemrum og derefter returnere en tom streng, hvis strengen bliver tom. Strengen er ellers ikke tom. Endelig er resultatet blevet printet.

Kode:

 #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 

Brug af metoden __eq__

Dunderen identificerer metoder med to understregninger før og efter deres navne. Det __eq__ metode kan også bruges til at tjekke for en tom streng. Når du ringer til __eq__ teknik i Python, betragtes strengen ikke som en tom streng, hvis den indeholder mellemrum.

Eksempel

Vi har brugt to inputstrenge, streng1 og streng2, i dette eksempel. Strengen2 har mellemrum, og streng1 er en tom streng. Det __eq__ funktion er blevet brugt. I if-else-tilstanden brugte vi den givne metode til at kontrollere, om strengen er tom eller ej. Endelig er resultatet blevet printet. Mellemrum behandles ikke som tomme strenge i denne tilgang.

Kode:

 #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