¿Cómo puedo probar si una cadena contiene solo espacios en blanco?
Cadenas de ejemplo:
" "
(espacio, espacio, espacio)" \t \n "
(espacio, tabulación, espacio, nueva línea, espacio)"\n\n\n\t\n"
(nueva línea, nueva línea, nueva línea, pestaña, nueva línea)
U+00A0
oALT+160
. Sin embargo, parece arreglado en Python 2.7.None
, o''
if len(str) == 0 or str.isspace():
len(my_str) == 0
también se puede escribirnot my_str
.fuente
True
aNone
?Quieres usar el
isspace()
métodoEso se define en cada objeto de cadena. Aquí hay un ejemplo de uso para su caso de uso específico:
fuente
Puedes usar el
str.isspace()
método.fuente
Para aquellos que esperan un comportamiento como Apache StringUtils.isBlank o Guava Strings.isNullOrEmpty :
fuente
Verifique la longitud de la lista dada por el método split ().
O compare la salida del método strip () con nulo.
fuente
len()
funciona en cadenas. Además, el OP no pedía probar la cadena vacía, sino una cadena que fuera todos los espacios. Sin embargo, tu segundo método no es malo. Además, sus padres que rodean el condicional no son necesarios en Python.==0
con==1
if len(your_string.split())==0:
->if not your_string.split():
,if your_string.strip() == '':
->if not your_string.strip():
. En cualquier caso, el primero es inferior a las soluciones existentes, y el segundo ya se ha mencionado en otras respuestas.Aquí hay una respuesta que debería funcionar en todos los casos:
Si la variable es Ninguna, se detendrá en
not s
y no evaluará más (desdenot None == True
). Aparentemente, elstrip()
método se ocupa de los casos habituales de tabulación, nueva línea, etc.fuente
not None == True
probablemente sea más claro decirloNone is False
. Además,==
no debe usarse para estas comparaciones.Supongo que en su escenario, una cadena vacía es una cadena que está realmente vacía o que contiene todo el espacio en blanco.
Tenga en cuenta que esto no verifica
None
fuente
Solía seguir:
fuente
None
?Para verificar si una cadena es solo un espacio o una nueva línea
Usa este código simple
fuente
La semejanza con el método estático de cadena c # esNullOrWhiteSpace.
fuente
return (str is None) or (str == "") or (str.isspace())
None
y""
son Falsy, lo que sólo puede:return not str or str.isspace()