logo

Hvordan sjekke om en streng er tom i Python

Python-strenger forblir uforanderlige, noe som betyr at vi kan endre dem basert på operasjonene vi utfører. Pythons viktigste funksjonalitet er strengmanipulering. Mange metoder, inkludert strengskjæringstilnærminger, looping gjennom elementene og strengmetoder, kan brukes til å endre strengen. Det er viktig å forstå at en streng med mellomrom faktisk er en tom streng som ikke er null. Dette problemet vil bli diskutert i denne opplæringen, samt en mulig løsning. Som et resultat, når vi bruker bare() eller ' ikke ' for å se etter en tom streng, teller den faktisk mellomrom som intet mindre enn et tegn i strengen, derfor vil en streng med mellomrom ikke telles som en tom streng.

I Python kan vi bruke en av de grunnleggende måtene beskrevet nedenfor for å se etter en tom streng.

  1. Bruker ikke operatør
  2. Bruker funksjonen len().
  3. Bruker not + string.isspace()
  4. Bruke len() + string.strip()
  5. Bruk og + string.strip()
  6. Bruker __eq__

Bruker ikke operatør

De ikke operatør utfører samme jobb som bare() funksjon. I Python er en tom streng faktisk lik False. De ikke operator kan brukes til å bestemme om en streng faktisk er tom eller ikke. De ikke operasjon i Python forhindrer at strengen blir tolket som en tom streng hvis den inneholder mellomrom.

Eksempel

Vi har brukt to type strenger, streng1 og streng2, i dette eksemplet. Strengen2 har mellomrom, og streng1 er en tom streng. Deretter brukte vi en 'hvis annet'-betingelse for å sjekke om den gitte strengen er tom hvis den ikke er i strengen. Den er imidlertid ikke tom. Mellomrom blir ikke behandlet som tomme strenger av not-operatøren, og utdataene vil derfor ikke være en tom streng for andre inngangsstrenger. Endelig er resultatet skrevet ut.

kryssing av tre

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

Produksjon:

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

Bruker len()-metoden

Vi bruker pyton bare() funksjon for å bestemme lengden på strengen. Så, hvis lengden på strengen er lik 0, er strengen tom; ellers er det ikke det. Når du bruker bare() teknikk i Python, regnes strengen egentlig ikke som en tom streng hvis den inneholder mellomrom.

Eksempel

Vi har brukt to type strenger, streng1 og streng2, i dette eksemplet. Strengen2 har mellomrom, og streng1 er en tom streng. Lengden på hver streng ble deretter beregnet ved hjelp av Pythons len()-funksjon. Deretter brukte vi 'if-else'-løkken for å sjekke om strengens lengde er lik null, i så fall skriver betingelsen ut at strengen er tom, og i så fall er utskriftsstrengen ikke tom. Mellomrom i strengen anses ikke som tomme av bare() , noe som resulterer i en ikke tom streng. Til slutt skrev vi ut resultatet av begge strengene.

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

Produksjon:

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

Bruker ikke Operator + str.isspace()

Den sjekker for mellomrom der i stripen på samme måte som strip() funksjon gjør. Derimot, strip() funksjon tar lang tid i motsetning til str. isspace() siden strip() må utføre en strip-operasjon, noe som krever mye dataarbeid.

Eksempel

Vi har brukt to type strenger, streng1 og streng2, i dette eksemplet. Strengen2 har mellomrom, og streng1 er en tom streng. 'Hvis-annes'-betingelsen er brukt. Vi brukte isspace() metoden i if else-tilstanden, som sjekker for alle strengmellomrom. Endelig er utskriften skrevet ut, og du kan se at begge strengene 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') 

Produksjon:

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

Bruke len() + string.strip()

I Python bruker du len() + string.strip() teknikk for å verifisere for en helt tom streng. Mellomrommet i en streng fjernes ved å bruke string.strip() metode. Hvis det er plass i strengen, vil strip() metoden fjerner den, og bare() funksjonen sjekker om strengen er tom eller ikke.

Eksempel

Uansett hvor mange mellomrom vi legger i strengen, fjerner den dem alle og verifiserer lengden på strengen; hvis den returnerer 0, er strengen tom; ellers er det ikke det.

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

Produksjon:

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

Bruke 'og' Operator + strip() funksjon

Vi har lagt merke til at mellomrom i strenger ikke alltid tolkes som tomme strenger. Så når vi bruker strip() funksjon for å bekrefte om strengen er tom, kan vi faktisk også se etter mellomrom.

Eksempel

Vi har brukt to inndatastrenger, streng1 og streng2, i dette eksemplet. Strengen2 har mellomrom, og streng1 er en tom streng. Vi brukte deretter if-else tilstand og strip() funksjon for å se om strengen var tom eller ikke. Hvis betingelsen er False, er strengen tom, og blokker utføres ellers. Mellomrom anses også som en tom streng i denne metoden. Endelig er resultatet skrevet ut.

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

Produksjon:

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

Bruke Strip()-funksjonen

Vi har lagt merke til at mellomrom i strenger ikke alltid tolkes som tomme strenger. Så når vi bruker strip() funksjon for å bekrefte om strengen er tom, kan vi faktisk også se etter mellomrom.

Eksempel

Vi har brukt to inndatastrenger, streng1 og streng2, i dette eksemplet. Strengen1 har mellomrom, og streng2 er en tom streng. Vi har brukt en if else-betingelse for å fjerne strengene, fjerne mellomrom og deretter returnere en tom streng hvis strengen blir tom. Strengen er ellers ikke tom. Endelig er resultatet skrevet ut.

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

Produksjon:

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

Ved hjelp av metoden __eq__

Dunderen identifiserer metoder med to understrekinger før og etter navnene deres. De __eq__ metoden kan også brukes til å se etter en tom streng. Når du ringer til __eq__ teknikk i Python, regnes ikke strengen som en tom streng hvis den inneholder mellomrom.

Eksempel

Vi har brukt to inndatastrenger, streng1 og streng2, i dette eksemplet. Strengen2 har mellomrom, og streng1 er en tom streng. De __eq__ funksjonen er brukt. I if-else-tilstanden brukte vi den gitte metoden for å bekrefte om strengen er tom eller ikke. Endelig er resultatet skrevet ut. Mellomrom behandles ikke som tomme strenger i denne tilnærmingen.

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

Produksjon:

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