Hoe spaties uit een string verwijderen in Python

Inleiding

Deze tutorial geeft voorbeelden van verschillende methoden die je kunt gebruiken om witruimte uit een string in Python te verwijderen.

A Python String is immutable, so you can’t change its value. Any method that manipulates a string value returns a new string.

Breng je Python-applicaties in productie vanaf GitHub met behulp van het DigitalOcean App Platform. Laat DigitalOcean zich bezighouden met het schalen van je app.

De voorbeelden in deze tutorial gebruiken de Python-interactieve console in de commandoregel om verschillende methoden te demonstreren die spaties verwijderen. De voorbeelden gebruiken de volgende string:

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

De uitvoer is:

Output
Hello World From DigitalOcean Hi There

Deze string bevat verschillende soorten witruimte- en nieuwe regeltekens, zoals spatie ( ), tab (\t), nieuwe regel (\n) en carriage return (\r).

Verwijder Voorloop- en Achterloopse Ruimtes Met de strip() Methode

De Python String strip() methode verwijdert voorloopse en achterloopse karakters uit een string. Het standaardkarakter om te verwijderen is spatie.

Declareer de stringvariabele:

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

Gebruik de strip() methode om de voorloop- en achterloopspaties te verwijderen:

  1. s.strip()

De output is:

Output
'Hello World From DigitalOcean \t\n\r\tHi There'

Als je alleen de voorloopspaties of achterloopspaties wilt verwijderen, dan kun je de lstrip() en rstrip() methodes gebruiken.

Verwijder alle spaties met behulp van de replace() methode

Je kunt de replace() methode gebruiken om alle spaties uit de string te verwijderen, inclusief die tussen woorden.

Declareer de string variabele:

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

Gebruik de replace() methode om spaties te vervangen door een lege string:

  1. s.replace(" ", "")

De output is:

Output
'HelloWorldFromDigitalOcean\t\n\r\tHiThere'

Verwijder dubbele spaties en nieuwe regel karakters met behulp van de join() en split() methodes

U kunt alle dubbele spaties en nieuwe regeltekens verwijderen door de join()-methode te gebruiken met de split()-methode. In dit voorbeeld breekt de split()-methode de string op in een lijst, met de standaardscheidingsteken van elk willekeurig spatiekarakter. Vervolgens voegt de join()-methode de lijst weer samen tot één string met een enkele spatie (" ") tussen elk woord.

Declareer de stringvariabele:

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

Gebruik de join()– en split()-methoden samen om dubbele spaties en nieuwe regeltekens te verwijderen:

  1. " ".join(s.split())

De uitvoer is:

Output
'Hello World From DigitalOcean Hi There'

Verwijder alle spaties en nieuwe regeltekens met behulp van de translate()-methode

U kunt alle spaties en nieuwe regeltekens verwijderen met behulp van de translate()-methode. De translate()-methode vervangt gespecificeerde tekens door tekens die zijn gedefinieerd in een woordenboek of mappingtabel. Het volgende voorbeeld gebruikt een aangepast woordenboek met de stringconstante string.whitespace, die alle spatietekens bevat. Het aangepaste woordenboek {ord(c): None for c in string.whitespace} vervangt alle tekens in string.whitespace door None.

Importeer de string-module zodat u string.whitespace kunt gebruiken:

  1. import string

Declareer de stringvariabele:

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

Gebruik de translate()-methode om alle witruimtekarakters te verwijderen:

  1. s.translate({ord(c): None for c in string.whitespace})

De output is:

Output
'HelloWorldFromDigitalOceanHiThere'

Verwijder Witruimtekarakters Gebruikmakend van Regex

Je kunt ook een reguliere expressie gebruiken om witruimtekarakters te matchen en deze te verwijderen met behulp van de re.sub()-functie.

Deze voorbeeld maakt gebruik van het volgende bestand, regexspaces.py, om enkele manieren te tonen waarop je regex kunt gebruiken om witruimtekarakters te verwijderen:

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 matcht alle witruimtes
print('Remove leading spaces using regex:\n', re.sub(r"^\s+", "", s), sep='')  # ^ matcht begin
print('Remove trailing spaces using regex:\n', re.sub(r"\s+$", "", s), sep='')  # $ matcht einde
print('Remove leading and trailing spaces using regex:\n', re.sub(r"^\s+|\s+$", "", s), sep='')  # | voor OF-voorwaarde

Voer het bestand uit vanaf de commandoregel:

python3 regexspaces.py

Je krijgt de volgende output:

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

Conclusie

In deze tutorial heb je enkele methoden geleerd die je kunt gebruiken om witruimtekarakters uit strings te verwijderen in Python. Ga verder met leren over Python-strings.

Source:
https://www.digitalocean.com/community/tutorials/python-remove-spaces-from-string