¿Cómo verificar múltiples espacios consecutivos en una cadena con Python? [duplicar]
Quiero encontrar varios espacios en una cadena usando python. ¿Cómo comprobar si existen varios espacios en una cadena?
mystring = 'this is a test'
Probé el siguiente código pero no funciona.
if bool(re.search(' +', ' ', mystring))==True:
# ....
El resultado debe regresar True.
Respuestas
Puede usar split()si no proporciona un delimitador, considerará el espacio como delimitador. después de dividir verifique la longitud. Si la longitud es mayor que uno, tiene espacios.
mystring = 'this is a test'
if len(mystring.split()) > 1:
#do something
Puede usar el método string.count (): Si desea verificar si existen múltiples espacios (más de uno y sin importar su longitud), el código es:
mystring.count(' ')>1
Si desea verificar si hay al menos un espacio consecutivo, el código es:
mystring.count(' ')>=1
Puede usar re y comparar las cadenas de esta manera:
import re
mystring = 'this is a test'
new_str = re.sub(' +', ' ', mystring)
if mystring == new_str:
print('There are no multiple spaces')
else:
print('There are multiple spaces')
La sintaxis que utiliza re.searches incorrecta. Debería serlo re.search(pattern, string, flags=0).
Entonces, puede simplemente hacer, buscando 2 o más espacios:
import re
def contains_multiple_spaces(s):
return bool(re.search(r' {2,}', s))
contains_multiple_spaces('no multiple spaces')
# False
contains_multiple_spaces('here are multiple spaces')
# True