logo

Cómo comprobar si una cadena está vacía en Python

Las cadenas de Python permanecen inmutables, lo que significa que podemos cambiarlas según las operaciones que ejecutamos. La funcionalidad más importante de Python es la manipulación de cadenas. Se pueden utilizar muchos métodos, incluidos los enfoques de corte de cadenas, el recorrido por sus elementos y los métodos de cadena, para alterar la cadena. Es vital comprender que una cadena con espacios es efectivamente una cadena vacía de longitud distinta de cero. Ese problema se discutirá en este tutorial, así como una posible solución. Como resultado, cuando utilizamos el solo() o ' no ' para comprobar si hay una cadena vacía, en realidad cuenta el espacio como nada menos que un carácter de la cadena, por lo tanto, una cadena con espacio no se contará como una cadena vacía.

En Python, podemos utilizar una de las formas básicas que se describen a continuación para comprobar si hay una cadena vacía.

  1. Usando no operador
  2. Usando la función len()
  3. Usando not + string.isspace()
  4. Usando len() + cadena.strip()
  5. Usando y + string.strip()
  6. Usando __eq__

Usando no operador

El no El operador realiza el mismo trabajo que el solo() función. En Python, una cadena vacía es igual a False. El no El operador se puede utilizar para determinar si una cadena está realmente vacía o no. El no La operación en Python evita que la cadena se interprete como una cadena vacía si contiene espacios.

java intenta atrapar

Ejemplo

Hemos utilizado dos tipos de cadenas, cadena1 y cadena2, en este ejemplo. La cadena2 tiene espacios en blanco y la cadena1 es una cadena vacía. Luego usamos una condición 'si otra cosa' para verificar si la cadena dada está vacía si no está en la cadena. Sin embargo, no está vacío. El operador not no trata los espacios en blanco como cadenas vacías, por lo que la salida no será una cadena vacía para el caso de la segunda cadena de entrada. Finalmente, el resultado ha sido impreso.

Código:

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

Producción:

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

Usando el método len()

Usaremos Python solo() Función para determinar la longitud de la cadena. Entonces, si la longitud de la cadena es igual a 0, la cadena está en blanco; de lo contrario, no lo es. Al usar el solo() En Python, la cadena no se considera realmente una cadena vacía si contiene espacios.

Ejemplo

Hemos utilizado dos tipos de cadenas, cadena1 y cadena2, en este ejemplo. La cadena2 tiene espacios en blanco y la cadena1 es una cadena vacía. Luego, la longitud de cada cadena se calculó utilizando la función len() de Python. Luego usamos el bucle 'if-else' para verificar si la longitud de la cadena es igual a cero, en cuyo caso la condición imprime que la cadena está vacía y en cuyo caso la cadena de impresión no está vacía. Los espacios en blanco en la cadena no se consideran vacíos por solo() , lo que da como resultado una cadena que no está vacía. Finalmente, imprimimos el resultado de ambas cadenas.

Código:

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

Producción:

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

Usando not Operador + str.isspace()

Comprueba si hay espacios en blanco en la tira de la misma manera que el banda() la función lo hace. Sin embargo, banda() La función lleva mucho tiempo en comparación con calle. isespacio() ya que strip() debe ejecutar una operación de extracción, lo que requiere mucho trabajo informático.

Ejemplo

Hemos utilizado dos tipos de cadenas, cadena1 y cadena2, en este ejemplo. La cadena2 tiene espacios en blanco y la cadena1 es una cadena vacía. Se ha utilizado la condición 'si-si no'. Usamos el isespacio() método en la condición if else, que comprueba todos los espacios de cadena. Finalmente, se imprimió el resultado y puede ver que ambas cadenas están vacías.

Código:

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

Producción:

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

Usando len() + cadena.strip()

En Python, use el len() + cadena.strip() técnica para verificar una cadena completamente vacía. El espacio en blanco en una cadena se elimina usando el cadena.tira() método. Si hay algún espacio en la cadena, el banda() El método lo elimina y el solo() La función comprueba si la cadena está vacía o no.

Ejemplo

Independientemente de cuántos espacios pongamos en la cadena, los elimina todos y verifica la longitud de la cadena; si devuelve 0, la cadena está vacía; de lo contrario, no lo es.

Código:

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

Producción:

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

Usando el operador 'y' + función strip()

Hemos notado que los espacios en blanco en las cadenas no siempre se interpretan como cadenas vacías. Entonces, cuando usamos el banda() función para verificar si la cadena está vacía, de hecho también podemos verificar si hay espacios en blanco.

Ejemplo

Hemos utilizado dos cadenas de entrada, cadena1 y cadena2, en este ejemplo. La cadena2 tiene espacios en blanco y la cadena1 es una cadena vacía. Luego usamos la condición if-else y la banda() función para ver si la cadena estaba vacía o no. Si la condición es Falsa, la cadena está vacía y, en caso contrario, los bloques se ejecutan. Los espacios en blanco también se consideran una cadena vacía en este método. Finalmente, el resultado ha sido impreso.

Código:

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

Producción:

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

Usando la función Strip()

Hemos notado que los espacios en blanco en las cadenas no siempre se interpretan como cadenas vacías. Entonces, cuando usamos el banda() función para verificar si la cadena está vacía, de hecho también podemos verificar si hay espacios en blanco.

Ejemplo

Hemos utilizado dos cadenas de entrada, cadena1 y cadena2, en este ejemplo. La cadena1 tiene espacios en blanco y la cadena2 es una cadena vacía. Hemos utilizado una condición if else para eliminar las cadenas, eliminando espacios en blanco y luego devolviendo una cadena vacía si la cadena queda vacía. De lo contrario, la cadena no está vacía. Finalmente, el resultado ha sido impreso.

Código:

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

Producción:

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

Usando el método __eq__

El dunder identifica métodos con dos guiones bajos antes y después de sus nombres. El __eq__ El método también se puede utilizar para comprobar si hay una cadena vacía. Al llamar al __eq__ En Python, la cadena no se considera una cadena vacía si contiene espacios.

Ejemplo

Hemos utilizado dos cadenas de entrada, cadena1 y cadena2, en este ejemplo. La cadena2 tiene espacios en blanco y la cadena1 es una cadena vacía. El __eq__ Se ha utilizado la función. En la condición if-else, utilizamos el método dado para verificar si la cadena está en blanco o no. Finalmente, el resultado ha sido impreso. En este enfoque, los espacios en blanco no se tratan como cadenas vacías.

Código:

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

Producción:

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