Como verificar vários espaços consecutivos em uma string com python? [duplicado]
Quero encontrar vários espaços em uma string usando python. Como verificar se existem vários espaços em uma string?
mystring = 'this is a test'
Eu tentei o código abaixo, mas não funciona.
if bool(re.search(' +', ' ', mystring))==True:
# ....
O resultado deve retornar True.
Respostas
Você pode usar split()se não fornecer nenhum delimitador, ele considerará o espaço como delimitador. após a divisão, verifique o comprimento. Se o comprimento for maior que um, há espaços.
mystring = 'this is a test'
if len(mystring.split()) > 1:
#do something
Você pode usar o método string.count (): Se você quiser verificar se existem vários (mais de um e não importa o tamanho) espaços, o código é:
mystring.count(' ')>1
Se você quiser verificar se há pelo menos um espaço consecutivo, o código é:
mystring.count(' ')>=1
Você pode usar re e comparar as strings assim:
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')
A sintaxe que você usa para re.searchestá errada. Deve ser re.search(pattern, string, flags=0).
Então, você pode apenas fazer, procurando por 2 ou mais espaços:
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