Elimina la punteggiatura da una stringa in Python
-
Usa i metodi di classe
string
per rimuovere la punteggiatura da una stringa in Python -
Usa
regex
per rimuovere la punteggiatura da una stringa in Python -
Usa
string.punctuation
per rimuovere la punteggiatura da una stringa in Python -
Usa
replace()
per rimuovere la punteggiatura da una stringa in Python
Questo tutorial discute i metodi per rimuovere la punteggiatura da una stringa in Python. È un passaggio particolarmente utile nella preelaborazione e nella pulizia dei dati testuali per la PNL.
Usa i metodi di classe string
per rimuovere la punteggiatura da una stringa in Python
Possiamo usare le funzioni integrate fornite nella classe String
per rimuovere la punteggiatura da una stringa in Python.
str.maketrans
crea una tabella di traduzione contenente la mappatura tra due caratteri. In questo caso, vogliamo rimuovere tutti i segni di punteggiatura, quindi str.maketrans('', '', string.punctuation)
crea la mappatura da una stringa vuota a una stringa vuota e la punteggiatura a Nessuno.
Il metodo translate
applica queste mappature alla stringa data rimuovendo così i segni di punteggiatura. L’esempio seguente lo illustra.
s = "string. With. Punctuations!?"
out = s.translate(str.maketrans("", "", string.punctuation))
print(out)
Produzione:
'string With Punctuations'
Il metodo precedente rimuove tutti i segni di punteggiatura da una data stringa di input.
Usa regex
per rimuovere la punteggiatura da una stringa in Python
Possiamo anche usare regex
per rimuovere la punteggiatura da una stringa in Python. Il pattern regex [^\w\s]
cattura tutto ciò che non è una parola o uno spazio bianco (cioè i segni di punteggiatura) e lo sostituisce con una stringa vuota. L’esempio seguente lo illustra.
import re
s = "string. With. Punctuation?"
out = re.sub(r"[^\w\s]", "", s)
print(out)
Produzione:
'string With Punctuations'
Usa string.punctuation
per rimuovere la punteggiatura da una stringa in Python
È simile al primo metodo discusso. string.punctuation
contiene tutti i caratteri considerati punteggiatura in inglese. Possiamo usare questo lista ed escludere tutti i segni di punteggiatura da una stringa. L’esempio seguente lo illustra.
s = "string. With. Punctuation?"
out = "".join([i for i in s if i not in string.punctuation])
print(out)
Produzione:
'string With Punctuations'
Usa replace()
per rimuovere la punteggiatura da una stringa in Python
Possiamo anche usare replace()
per rimuovere la punteggiatura da una stringa in Python. Ancora una volta, usiamo string.punctuation
per definire una lista di punteggiatura e poi sostituiamo tutte le punteggiatura con una stringa vuota per eliminare i segni di punteggiatura. L’esempio seguente lo illustra.
s = "string. With. Punctuation?"
punct = string.punctuation
for c in punct:
s = s.replace(c, "")
print(s)
Produzione:
'string With Punctuations'
Articolo correlato - Python String
- Come controllare una stringa è vuota in modo pitonico
- Converti una stringa in nome variabile in Python
- Come rimuovere gli spazi bianchi in una stringa in Python
- Estrai numeri da una stringa in Python
- Come convertire una stringa in datario in Python
- Come convertire una stringa in minuscola in Python 2 e 3