Como Remover Espaços de uma String em Python

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:

  1. 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:

  1. 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:

  1. s = ' Hello World From DigitalOcean \t\n\r\tHi There '

Use o método replace() para substituir os espaços por uma string vazia:

  1. 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:

  1. 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:

  1. " ".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:

  1. import string

Declare a variável de string:

  1. 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:

  1. 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:

regexspaces.py
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