Python | Estrarre parole da una determinata stringa

| | | | | | | | | | | | | | | | | | |

Metodo n. 1: utilizzando split()
Utilizzando la funzione di divisione, possiamo dividere una stringa in un elenco di parole, e questa è la più comune e metodo consigliato se qualcuno vuole completare questa attività specifica. Ma lo svantaggio è che non funziona nei casi in cui la stringa contiene segni di punteggiatura.


# Python3 demo code < br> # estrae parole dalla stringa
# usando split()


# stringa di inizializzazione

test_string = "Geeksforgeeks is best Computer Science Portal"


# print the original line

print ( "La stringa originale è:" + test_string)


# using split()
# estrae parole dalla stringa

r es = test_string.split()


# stampa risultato

print ( "L`elenco delle parole è:" + str (res) )

Esci:

La stringa originale è: Geeksforgeeks è il miglior portale di informatica
Il l`elenco di parole è: [`Geeksforgeeks`,` is`, `best`, `Computer`, `Science`, `Portal`]

Metodo n. 2: utilizzo di regex (findall ())
Nei casi che contengono tutti i caratteri speciali e i segni di punteggiatura, come discusso sopra, tr Il metodo tradizionale di ricerca di parole in una stringa usando la divisione può fallire e pertanto richiede espressioni regolari per svolgere questa attività. La funzione findall restituisce un elenco dopo aver filtrato la stringa ed estratto le parole, ignorando i segni di punteggiatura.


# Python3 demo code
# estrae parole dalla stringa
# usando un`espressione regolare (findall ())

import re


# stringa di inizializzazione

test_string = "Geeksforgeeks , è il migliore @ # Portale di informatica. !!!"


# print original line

print ( "La stringa originale è: " + stringa_test)


# usando un`espressione regolare (findall ())
# estrae parole dalla stringa

res = re.findall (r `w +` , test_string)


# stampa risultato

stampa ( "L`elenco delle parole è:" + str (res))

Output:

La stringa originale è: Geeksforgeeks, è il migliore @ # Computer Science Portal. !!!
L`elenco di parole è: [`Geeksforgeeks`, `is`, `best`, `Computer `,` Science `,` Portal `]

Metodo n. 3: utilizzo di regex () + string.punctuation
Questo metodo utilizzava anche espressioni regolari, ma la funzione ottieni tutte le stringhe di punteggiatura viene utilizzata per ignorare tutta la punteggiatura e ottenere la stringa del risultato filtrata.


# Python3 demo code
# estrae le parole dalla stringa < br> # using regex () + string.punctuation

import re

import stringa


# stringa di inizializzazione

test_string = " Geeksforgeeks, è il migliore @ # Portale di informatica. !!! "


# print original string

print ( " La stringa originale è: " + test_string)


# using regex() + string.punctuation
# estrae parole dalla stringa

res = re.sub ( `[` + string.punctuation + `] ` ,` `, test_string ) .split ()


# stampa risultato

print ( "L`elenco delle parole è:" + str ( res))

Esci:

La stringa originale è: Geeksforgeeks, è il migliore @ # Computer Science Portal. !!!
L`elenco di parole è: [`Geeksforgeeks`, `is`, `best`, `Computer`, `Science`, `Portal`]