logo

Ako skontrolovať, či je reťazec prázdny v Pythone

Reťazce Pythonu zostávajú nemenné, čo znamená, že ich môžeme meniť na základe operácií, ktoré vykonávame. Najvýznamnejšou funkcionalitou Pythonu je manipulácia s reťazcami. Na zmenu reťazca je možné použiť mnoho metód, vrátane prístupov na krájanie reťazcov, cyklovania jeho prvkov a metód reťazcov. Je dôležité pochopiť, že reťazec s medzerami je v skutočnosti prázdny reťazec s nenulovou dĺžkou. O tomto probléme sa bude diskutovať v tomto návode, ako aj o možnom náprave. V dôsledku toho, keď použijeme len() alebo ' nie ' na kontrolu prázdneho reťazca, v skutočnosti počíta medzeru ako znak reťazca, preto sa reťazec s medzerou nebude počítať ako prázdny reťazec.

V Pythone môžeme na kontrolu prázdneho reťazca použiť jeden zo základných spôsobov popísaných nižšie.

  1. Použitie nie operátora
  2. Použitie funkcie len().
  3. Použitie not + string.isspace()
  4. Použitie len() + string.strip()
  5. Pomocou a + string.strip()
  6. Použitie __eq__

Nepoužívať operátora

The nie operátor vykonáva rovnakú prácu ako len() funkciu. V Pythone sa prázdny reťazec skutočne rovná False. The nie Operátor možno použiť na určenie, či je reťazec skutočne prázdny alebo nie. The nie operácia v Pythone zabraňuje interpretácii reťazca ako prázdneho reťazca, ak obsahuje medzery.

Príklad

V tomto príklade sme použili dva typy reťazcov, reťazec1 a reťazec2. Reťazec2 má medzery a reťazec1 je prázdny reťazec. Potom sme použili podmienku 'if else' na kontrolu, či je daný reťazec prázdny, ak nie je v reťazci. Nie je však prázdny. Operátor not nepovažuje medzery za prázdne reťazce, preto výstup nebude prázdnym reťazcom v prípade druhého vstupného reťazca. Nakoniec je výsledok vytlačený.

arraylist java sort

kód:

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

Výkon:

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

Použitie metódy len().

Použijeme python len() funkcia na určenie dĺžky reťazca. Potom, ak sa dĺžka reťazca rovná 0, reťazec je prázdny; inak nie je. Pri použití len() techniky v Pythone sa reťazec v skutočnosti nepovažuje za prázdny reťazec, ak obsahuje medzery.

Príklad

V tomto príklade sme použili dva typy reťazcov, reťazec1 a reťazec2. Reťazec2 má medzery a reťazec1 je prázdny reťazec. Dĺžka každého reťazca sa potom vypočítala pomocou funkcie len() Pythonu. Potom sme pomocou cyklu „if-else“ skontrolovali, či sa dĺžka reťazca rovná nule, v takom prípade podmienka vypíše, že reťazec je prázdny a v takom prípade tlačový reťazec nie je prázdny. Medzery v reťazci sa nepovažujú za prázdne podľa len() , výsledkom čoho nie je prázdny reťazec. Nakoniec sme vytlačili výsledok oboch reťazcov.

kód:

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

Výkon:

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

Nepoužíva sa operátor + str.isspace()

Kontroluje tam medzery v páse rovnakým spôsobom ako pás() funkcia robí. však pás() funkcia trvá dlho, na rozdiel od str. isspace() pretože strip() musí vykonať operáciu strip, ktorá vyžaduje veľa výpočtovej práce.

Príklad

V tomto príklade sme použili dva typy reťazcov, reťazec1 a reťazec2. Reťazec2 má medzery a reťazec1 je prázdny reťazec. Použila sa podmienka „ak je to inak“. Použili sme isspace() metóda v podmienke if else, ktorá kontroluje všetky medzery v reťazcoch. Nakoniec bol výstup vytlačený a môžete vidieť, že oba reťazce sú prázdne.

kód:

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

Výkon:

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

Použitie len() + string.strip()

V Pythone použite len() + string.strip() technika na overenie úplne prázdneho reťazca. Medzera v reťazci sa odstráni pomocou string.strip() metóda. Ak je v reťazci medzera, pás() metóda ho odstráni a len() funkcia kontroluje, či je reťazec prázdny alebo nie.

Príklad

Bez ohľadu na to, koľko medzier vložíme do reťazca, všetky ich odstráni a overí dĺžku reťazca; ak vráti 0, reťazec je prázdny; inak nie je.

kód:

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

Výkon:

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

Použitie operátora 'and' + funkcie strip().

Všimli sme si, že medzery v reťazcoch nie sú vždy interpretované ako prázdne reťazce. Takže, keď použijeme pás() funkciu na overenie, či je reťazec prázdny, môžeme skutočne skontrolovať aj medzery.

Príklad

java matematika náhodná

V tomto príklade sme použili dva vstupné reťazce, reťazec1 a reťazec2. Reťazec2 má medzery a reťazec1 je prázdny reťazec. Potom sme použili podmienku if-else a pás() funkciu, aby ste zistili, či bol reťazec prázdny alebo nie. Ak je podmienka False, reťazec je prázdny a bloky sa inak vykonávajú. V tejto metóde sa za prázdny reťazec považuje aj medzera. Nakoniec je výsledok vytlačený.

kód:

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

Výkon:

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

Použitie funkcie Strip().

Všimli sme si, že medzery v reťazcoch nie sú vždy interpretované ako prázdne reťazce. Takže, keď použijeme pás() funkciu na overenie, či je reťazec prázdny, môžeme skutočne skontrolovať aj medzery.

matematika náhodná java

Príklad

V tomto príklade sme použili dva vstupné reťazce, reťazec1 a reťazec2. Reťazec1 má medzery a reťazec2 je prázdny reťazec. Použili sme podmienku if else na odstránenie reťazcov, odstránenie medzier a následné vrátenie prázdneho reťazca, ak sa reťazec stane prázdnym. Inak reťazec nie je prázdny. Nakoniec je výsledok vytlačený.

kód:

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

Výkon:

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

Použitie metódy __eq__

Dunder identifikuje metódy s dvoma podčiarkovníkmi pred aj za ich názvom. The __eq__ metódu možno použiť aj na kontrolu prázdneho reťazca. Pri volaní na __eq__ technikou v Pythone sa reťazec nepovažuje za prázdny, ak obsahuje medzery.

Príklad

V tomto príklade sme použili dva vstupné reťazce, reťazec1 a reťazec2. Reťazec2 má medzery a reťazec1 je prázdny reťazec. The __eq__ funkcia bola použitá. V podmienke if-else sme použili danú metódu na overenie, či je reťazec prázdny alebo nie. Nakoniec je výsledok vytlačený. V tomto prístupe sa medzery nepovažujú za prázdne reťazce.

kód:

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

Výkon:

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