Lorsque vous traitez des données textuelles, une tâche courante consiste à diviser des chaînes en mots individuels. La méthode str.split() de Python offre une solution simple, mais elle ne prend en charge qu'un seul délimiteur comme argument. Cette limitation peut devenir un obstacle lorsqu'il s'agit de texte contenant plusieurs types de limites de mots, tels que des signes de ponctuation.
Le module Python re offre une alternative puissante : re.split(). Cette fonction vous permet de spécifier un modèle à utiliser comme délimiteur de limite de mot. Le modèle peut inclure des expressions régulières pour correspondre simultanément à plusieurs types de limites.
Par exemple, pour diviser la chaîne suivante en mots, en traitant à la fois les espaces et les signes de ponctuation comme limites de mots :
"Hey, you - what are you doing here!?"
Vous pouvez utiliser le modèle d'expression régulière suivant :
'\W '
Ce modèle correspond à n'importe quelle séquence de caractères autres que des mots (alphabétiques, numériques ou traits de soulignement). Lorsqu'il est utilisé avec re.split(), il divisera la chaîne à toutes les occurrences de ces caractères, créant ainsi une liste de mots.
Voici comment l'utiliser en Python :
import re text = "Hey, you - what are you doing here!?" words = re.split('\W ', text) print(words)
Sortie :
['Hey', 'you', 'what', 'are', 'you', 'doing', 'here']
Comme vous pouvez le voir, re.split() divise efficacement la chaîne en mots individuels, préservant les limites correctes des mots malgré la présence de plusieurs délimiteurs. Cette flexibilité en fait un outil précieux pour gérer des scénarios d'analyse de texte complexes, dans lesquels plusieurs délimiteurs de limites de mots sont rencontrés.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3