logo

Com comprovar si una cadena està buida a Python

Les cadenes de Python romanen immutables, la qual cosa significa que les podem canviar en funció de les operacions que executem. La funcionalitat més significativa de Python és la manipulació de cadenes. Es poden utilitzar molts mètodes, inclosos els enfocaments de tall de cadena, el bucle entre els seus elements i els mètodes de cadena, per alterar la cadena. És vital entendre que una cadena amb espais és efectivament una cadena buida de longitud diferent de zero. Aquest problema es tractarà en aquest tutorial, així com un possible remei. Com a resultat, quan fem servir el només () o ' no ' per comprovar si hi ha una cadena buida, en realitat compta l'espai com a ni més ni menys que un caràcter de la cadena, per tant, una cadena amb espai no es comptarà com una cadena buida.

A Python, podem utilitzar una de les maneres bàsiques que es descriuen a continuació per comprovar si hi ha una cadena buida.

  1. Utilitzant no operador
  2. Utilitzant la funció len().
  3. Utilitzant not + string.isspace()
  4. Utilitzant len() + string.strip()
  5. Utilitzant i + string.strip()
  6. Utilitzant __eq__

Utilitzant not Operator

El no l'operador realitza la mateixa feina que el només () funció. A Python, una cadena buida és efectivament igual a False. El no L'operador es pot utilitzar per determinar si una cadena està realment buida o no. El no L'operació en Python evita que la cadena s'interpreti com una cadena buida si conté espais.

Exemple

Hem utilitzat dos tipus de cadenes, string1 i string2, en aquest exemple. La cadena2 té espais en blanc i la cadena1 és una cadena buida. A continuació, hem utilitzat una condició 'si més' per comprovar si la cadena donada està buida si no és a la cadena. No és, però, buit. Els espais en blanc no són tractats com a cadenes buides per l'operador not, per tant, la sortida no serà una cadena buida en el cas de la segona cadena d'entrada. Finalment, s'ha imprès el resultat.

Codi:

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

Sortida:

llista de matrius java
 string, string1 = '', with no spaces is empty string, string2 = ' ', with spaces is not empty 

Utilitzant el mètode len().

Farem servir Python només () funció per determinar la longitud de la cadena. Aleshores, si la longitud de la cadena és igual a 0, la cadena està en blanc; en cas contrari, no ho és. Quan utilitzeu el només () tècnica a Python, la cadena no es considera realment com una cadena buida si conté espais.

Exemple

Hem utilitzat dos tipus de cadenes, string1 i string2, en aquest exemple. La cadena2 té espais en blanc i la cadena1 és una cadena buida. A continuació, es va calcular la longitud de cada cadena mitjançant la funció len() de Python. A continuació, hem utilitzat el bucle 'if-else' per comprovar si la longitud de la cadena és igual a zero, en aquest cas la condició indica que la cadena està buida i, en aquest cas, la cadena d'impressió no està buida. Els espais en blanc de la cadena no es consideren buits per només () , resultant en una cadena no buida. Finalment, vam imprimir el resultat de les dues cadenes.

Codi:

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

Sortida:

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

Utilitzant not Operator + str.isspace()

Comprova si hi ha espais en blanc a la tira de la mateixa manera que el tira () funció ho fa. Malgrat això, tira () la funció triga molt de temps en contraposició a str. isspace() ja que strip() ha d'executar una operació de strip, que requereix molt treball informàtic.

Exemple

Hem utilitzat dos tipus de cadenes, string1 i string2, en aquest exemple. La cadena2 té espais en blanc i la cadena1 és una cadena buida. S'ha utilitzat la condició 'si-else'. Hem utilitzat el isspace() mètode en la condició if else, que comprova tots els espais de cadena. Finalment, s'ha imprès la sortida i podeu veure que ambdues cadenes estan buides.

Codi:

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

Sortida:

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

Utilitzant len() + string.strip()

A Python, utilitzeu len() + string.strip() tècnica per comprovar si hi ha una cadena completament buida. L'espai en blanc d'una cadena s'elimina amb el botó string.strip() mètode. Si hi ha algun espai a la cadena, el tira () mètode l'elimina i el només () La funció comprova si la cadena està buida o no.

Exemple

Independentment de quants espais posem a la cadena, els treu tots i verifica la longitud de la cadena; si retorna 0, la cadena està buida; altrament, no ho és.

Codi:

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

Sortida:

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

Utilitzant la funció 'i' Operator + strip().

Hem observat que els espais en blanc a les cadenes no sempre s'interpreten com a cadenes buides. Per tant, quan fem servir el tira () funció per verificar si la cadena està buida, també podem comprovar si hi ha espais en blanc.

Exemple

Hem utilitzat dues cadenes d'entrada, cadena1 i cadena2, en aquest exemple. La cadena2 té espais en blanc i la cadena1 és una cadena buida. Després hem utilitzat la condició if-else i la tira () funció per veure si la cadena estava buida o no. Si la condició és Falsa, la cadena està buida i els blocs s'executen en cas contrari. L'espai en blanc també es considera una cadena buida en aquest mètode. Finalment, s'ha imprès el resultat.

Codi:

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

Sortida:

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

Utilitzant la funció Strip().

Hem observat que els espais en blanc de les cadenes no sempre s'interpreten com a cadenes buides. Per tant, quan fem servir el tira () funció per verificar si la cadena està buida, també podem comprovar si hi ha espais en blanc.

Exemple

Hem utilitzat dues cadenes d'entrada, cadena1 i cadena2, en aquest exemple. La cadena1 té espais en blanc i la cadena2 és una cadena buida. Hem utilitzat una condició if else per eliminar les cadenes, eliminant els espais en blanc i després retornant una cadena buida si la cadena queda buida. En cas contrari, la cadena no està buida. Finalment, s'ha imprès el resultat.

Codi:

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

Sortida:

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

Utilitzant el mètode __eq__

El dunder identifica els mètodes amb dos guions baixos abans i després dels seus noms. El __eq__ El mètode també es pot utilitzar per comprovar si hi ha una cadena buida. En trucar al __eq__ tècnica a Python, la cadena no es considera una cadena buida si conté espais.

Exemple

Hem utilitzat dues cadenes d'entrada, cadena1 i cadena2, en aquest exemple. La cadena2 té espais en blanc i la cadena1 és una cadena buida. El __eq__ s'ha utilitzat la funció. En la condició if-else, hem utilitzat el mètode donat per verificar si la cadena està en blanc o no. Finalment, s'ha imprès el resultat. Els espais en blanc no es tracten com a cadenes buides en aquest enfocament.

Codi:

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

Sortida:

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