Cómo comprobar si el texto es “vacías” (espacios, tabulaciones, saltos de línea) en Python?

StackOverflow https://stackoverflow.com/questions/2405292

Pregunta

¿Cómo puedo comprobar si la cadena está vacía en Python?

Por ejemplo,

"<space><space><space>" está vacía, por lo que es

"<space><tab><space><newline><space>", por lo que es

"<newline><newline><newline><tab><newline>", etc.

¿Fue útil?

Solución

yourString.isspace()

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

Combine eso con un caso especial para el manejo de la cadena vacía.

Como alternativa, puede utilizar

strippedString = yourString.strip()

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

Otros consejos

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

para aquellos que esperan un comportamiento como el Apache StringUtils.isBlank o Guava Strings.isNullOrEmpty :

if mystring and mystring.strip():
    print "not blank string"
else:
    print "blank string"

Comprobar la longitud de la lista dada por el método split () de.

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

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

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

Esta es una respuesta que debería funcionar en todos los casos:

def is_empty(s):
    "Check whether a string is empty"
    return not s or not s.strip()

Si la variable es Ninguno, se detiene en not sand no evaluar más a fondo (ya not None == True). Al parecer, el strip()method se encarga de los casos habituales de tabulación, nueva línea, etc.

Estoy asumiendo en su caso, una cadena vacía es una cadena que es verdaderamente vacía o una que contiene todos los espacios en blanco.

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

Tenga en cuenta esto no comprueba None

utilicé siguiente:

if str and not str.isspace():
  print('not null and not empty nor whitespace')
else:
  print('null or empty or whitespace')

Para comprobar si una cadena está a espacios o salto de línea

Utilice este código simple

mystr = "      \n  \r  \t   "
if not mystr.strip(): # The String Is Only Spaces!
    print("\n[!] Invalid String !!!")
    exit(1)
mystr = mystr.strip()
print("\n[*] Your String Is: "+mystr)

La semejanza con c # string método estático isNullOrWhiteSpace.

def isNullOrWhiteSpace(str):
  """Indicates whether the specified string is null or empty string.
     Returns: True if the str parameter is null, an empty string ("") or contains 
     whitespace. Returns false otherwise."""
  if (str is None) or (str == "") or (str.isspace()):
    return True
  return False

isNullOrWhiteSpace(None) -> True // None equals null in c#, java, php
isNullOrWhiteSpace("")   -> True
isNullOrWhiteSpace(" ")  -> True
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top