Como verificar vários espaços consecutivos em uma string com python? [duplicado]

Aug 31 2020

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

1 deadshot Aug 31 2020 at 14:11

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
1 IoaTzimas Aug 31 2020 at 14:15

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
1 JaniniRami Aug 31 2020 at 14:14

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')
ThierryLathuille Aug 31 2020 at 14:21

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