Introdução
Este tutorial fornece exemplos de vários métodos que você pode usar para remover espaços em branco de uma string em Python.
A Python String is immutable, so you can’t change its value. Any method that manipulates a string value returns a new string.
Implemente suas aplicações Python do GitHub usando a Plataforma de Aplicativos DigitalOcean. Deixe a DigitalOcean focar em escalar sua aplicação.
Os exemplos neste tutorial utilizam o console interativo Python na linha de comando para demonstrar diferentes métodos que removem espaços. Os exemplos utilizam a seguinte string:
s = ' Hello World From DigitalOcean \t\n\r\tHi There '
O resultado é:
Output Hello World From DigitalOcean
Hi There
Esta string possui diferentes tipos de espaços em branco e caracteres de nova linha, como espaço (
), tabulação (\t
), nova linha (\n
) e retorno de carro (\r
).
Remover Espaços Iniciais e Finais Usando o Método strip()
O método strip()
da string Python remove caracteres iniciais e finais de uma string. O caractere padrão a ser removido é o espaço.
Declare a variável da string:
- s = ' Hello World From DigitalOcean \t\n\r\tHi There '
Use o método strip()
para remover os espaços em branco no início e no final:
- s.strip()
A saída é:
Output'Hello World From DigitalOcean \t\n\r\tHi There'
Se você deseja remover apenas os espaços no início ou no final, pode usar os métodos lstrip()
e rstrip()
.
Remova Todos os Espaços Usando o Método replace()
Você pode usar o método replace()
para remover todos os caracteres de espaço em branco da string, incluindo entre as palavras.
Declare a variável de string:
- s = ' Hello World From DigitalOcean \t\n\r\tHi There '
Use o método replace()
para substituir os espaços por uma string vazia:
- s.replace(" ", "")
A saída é:
Output'HelloWorldFromDigitalOcean\t\n\r\tHiThere'
Remova Espaços Duplicados e Caracteres de Nova Linha Usando os Métodos join()
e split()
Você pode remover todos os espaços em branco e caracteres de nova linha usando o método join()
com o método split()
. Neste exemplo, o método split()
quebra a string em uma lista, usando o separador padrão de qualquer caractere de espaço em branco. Em seguida, o método join()
une a lista de volta em uma string com um único espaço (" "
) entre cada palavra.
Declare a variável de string:
- s = ' Hello World From DigitalOcean \t\n\r\tHi There '
Use os métodos join()
e split()
juntos para remover espaços duplicados e caracteres de nova linha:
- " ".join(s.split())
A saída é:
Output'Hello World From DigitalOcean Hi There'
Remova Todos os Espaços e Caracteres de Nova Linha Usando o Método translate()
Você pode remover todos os espaços em branco e caracteres de nova linha usando o método translate()
. O método translate()
substitui caracteres especificados por caracteres definidos em um dicionário ou tabela de mapeamento. O exemplo a seguir usa um dicionário personalizado com a constante de string string.whitespace
, que contém todos os caracteres de espaço em branco. O dicionário personalizado {ord(c): None for c in string.whitespace}
substitui todos os caracteres em string.whitespace
por None
.
Importe o módulo string
para que você possa usar string.whitespace
:
- import string
Declare a variável de string:
- s = ' Hello World From DigitalOcean \t\n\r\tHi There '
Utilize o método `translate()` para remover todos os caracteres de espaço em branco:
- s.translate({ord(c): None for c in string.whitespace})
O resultado é:
Output'HelloWorldFromDigitalOceanHiThere'
Remover Caracteres de Espaço em Branco Usando Regex
Você também pode usar uma expressão regular para corresponder a caracteres de espaço em branco e removê-los usando a função `re.sub()`.
Este exemplo utiliza o arquivo a seguir, `regexspaces.py`, para mostrar algumas maneiras de usar regex para remover caracteres de espaço em branco:
import re
s = ' Hello World From DigitalOcean \t\n\r\tHi There '
print('Remove all spaces using regex:\n', re.sub(r"\s+", "", s), sep='') # \s corresponde a todos os espaços em branco
print('Remove leading spaces using regex:\n', re.sub(r"^\s+", "", s), sep='') # ^ corresponde ao início
print('Remove trailing spaces using regex:\n', re.sub(r"\s+$", "", s), sep='') # $ corresponde ao fim
print('Remove leading and trailing spaces using regex:\n', re.sub(r"^\s+|\s+$", "", s), sep='') # | para condição OR
Execute o arquivo a partir da linha de comando:
python3 regexspaces.py
Você obterá a seguinte saída:
Remove all spaces using regex:
HelloWorldFromDigitalOceanHiThere
Remove leading spaces using regex:
Hello World From DigitalOcean
Hi There
Remove trailing spaces using regex:
Hello World From DigitalOcean
Hi There
Remove leading and trailing spaces using regex:
Hello World From DigitalOcean
Hi There
Conclusão
Neste tutorial, você aprendeu alguns dos métodos que pode usar para remover caracteres de espaço em branco de strings em Python. Continue aprendendo sobre strings em Python.
Source:
https://www.digitalocean.com/community/tutorials/python-remove-spaces-from-string