2010-03-08 19 views

Respuesta

191
yourString.isspace() 

"Devuelve verdadero si sólo hay espacios en blanco en la cadena y hay al menos un caracter, falso de lo contrario ".

Combine eso con una funda especial para manipular la cadena vacía.

Como alternativa, se puede usar

strippedString = yourString.strip() 

Y a continuación, comprobar si strippedString está vacía.

+0

Esta falla en Python 2.4 si la cadena contiene un espacio de no separación, charCode 'U + 00A0' o ALT +' 160'. Parece arreglado en Python 2.7, sin embargo. – Kumba

+6

Tenga en cuenta que esto no marca 'None', or' '' ' –

+1

En Python 2.7.13, isspace() considerará el espacio no disruptivo como un espacio. ¡Bonito! –

38
>>> tests = ['foo', ' ', '\r\n\t', '', None] 
>>> [bool(not s or s.isspace()) for s in tests] 
[False, True, True, True, True] 
>>> 
14

que desea utilizar el método isspace()

str. isspace()

Volver cierto si sólo hay espacios en blanco en la cadena y hay al menos un carácter, en caso contrario.

Eso se define en cada objeto de cadena. Aquí está un ejemplo de uso para su caso de uso específico:

if aStr and (not aStr.isspace()): 
    print aStr 
3

Compruebe la longitud de la lista proporcionada por el método split().

if (len(your_string.split())==0: 
    print("yes") 

O Compare salida método de la tira() de con nulo.

if (your_string.strip())=='': 
    print("yes") 
+0

No hay ninguna razón para dividir la cadena, 'len()' funciona en cadenas.Además, el OP no pedía probar la cadena vacía, sino una cadena que contenía todos los espacios. Sin embargo, tu segundo método no está mal. Además, tus pares que rodean el condicional no son necesarios en Python. – NeilK

+0

Por extraño que parezca, el primer método es en realidad una buena manera de comprobar que * ninguno * de los caracteres son espacios, si reemplaza '== 0' con' == 1' –

0

Estoy asumiendo en su caso, una cadena vacía es una cadena que es verdaderamente vacía o una que contenga todo el espacio en blanco

if(str.strip()): 
    print("string is not empty") 
else: 
    print("string is empty") 

Nota esto no comprueba None

Cuestiones relacionadas