Méthode n° 1 : Utilisation de split()
En utilisant la fonction split, nous pouvons diviser une chaîne en une liste de mots, et c`est la plus courante et méthode recommandée si quelqu`un veut accomplir cette tâche spécifique. Mais l`inconvénient est que cela ne fonctionne pas dans les cas où la chaîne contient des signes de ponctuation.
# code de démonstration Python3
< br> # extraire des mots de la chaîne
# utiliser split ()
# chaîne d`initialisation
test_string
=
"Geeksforgeeks est le meilleur portail informatique"
# imprimer la ligne d`origine
print
(
"La chaîne d`origine est :"
+
test_string)
# en utilisant split ()
# extraire des mots de la chaîne
r es
=
test_string.split ()
# print result
print
(
"La liste de mots est :"
+
str
(res) )
Quitter :
La chaîne d`origine est : Geeksforgeeks est le meilleur portail informatique
Le liste de mots est : [`Geeksforgeeks`,` is`, `best`, `Computer`, `Science`, `Portal`]
Méthode n° 2 : Utilisation de regex (findall ())
Dans les cas qui contiennent tous les caractères spéciaux et les signes de ponctuation, comme indiqué ci-dessus, tr La méthode traditionnelle de recherche de mots dans une chaîne à l`aide du fractionnement peut échouer et nécessite donc des expressions régulières pour accomplir cette tâche. La fonction findall
renvoie une liste après avoir filtré la chaîne et extrait les mots, en ignorant les signes de ponctuation.
# Démo Python3 code
# extraire des mots de la chaîne
# utiliser l`expression régulière (findall ())
import
re
# chaîne d`initialisation
test_string
=
"Geeksforgeeks , est le meilleur @ # portail informatique. !!!"
# imprimer la ligne d`origine
imprimer
(
"La chaîne d`origine est : "
+
test_string)
# utilisation de l`expression régulière (findall ())
# extrait les mots de la chaîne
res
=
re.findall (r
`w +`
, test_string)
# imprimer le résultat
imprimer
(
"La liste de mots est :"
+
str
(res))
Sortie :
La chaîne d`origine est : Geeksforgeeks, is best @ # Computer Science Portal. !!!
La liste de mots est : [`Geeksforgeeks`, `est`, `meilleur`, `Ordinateur `,` Science `,` Portail `]
Méthode n° 3 : Utilisation de regex () + string.punctuation
Cette méthode utilisait également des expressions régulières, mais la fonction d`obtention de toutes les chaînes de ponctuation est utilisée pour ignorer toutes les ponctuations et obtenir la chaîne de résultat filtrée.
# code de démonstration Python3
# extraire des mots de la chaîne
< br> # en utilisant regex () + string.punctuation
import
re
importer
chaîne
# chaîne d`initialisation
test_string
=
" Geeksforgeeks, est le meilleur @ # portail informatique. !!! "
# imprimer la chaîne d`origine
imprimer
(
" La chaîne d`origine est : "
+
test_string)
# utilisation de regex () + string.punctuation
# extraire les mots de la chaîne
res
=
re.sub (
`[`
+
string.punctuation
+
`] `
,` `, test_string ) .split ()
# résultat d`impression
imprimer
(
"La liste de mots est :"
+
str
( res))
Quitter :
La chaîne d`origine est : Geeksforgeeks, est le meilleur @ # portail informatique. !!!
La liste de mots est : [`Geeksforgeeks`, `est`, `meilleur`, `Ordinateur`, `Science`, `Portail`]