Maison > développement back-end > Tutoriel Python > Comment puis-je diviser des chaînes avec plusieurs délimiteurs en Python à l'aide d'expressions régulières ?

Comment puis-je diviser des chaînes avec plusieurs délimiteurs en Python à l'aide d'expressions régulières ?

Patricia Arquette
Libérer: 2024-12-12 21:08:13
original
917 Les gens l'ont consulté

How Can I Split Strings with Multiple Delimiters in Python Using Regular Expressions?

Diviser des chaînes avec plusieurs délimiteurs en Python

De nombreuses tâches de programmation impliquent la manipulation de chaînes. Lorsque vous travaillez avec des chaînes contenant plusieurs délimiteurs, tels que des points-virgules et des virgules, il est essentiel de les diviser efficacement.

Utilisation d'expressions régulières

Une approche courante consiste à utiliser des expressions régulières. Prenons l'exemple de chaîne :

"b-staged divinylsiloxane-bis-benzocyclobutene [124221-30-3], mesitylene [000108-67-8]; polymerized 1,2-dihydro-2,2,4- trimethyl quinoline [026780-96-1]"
Copier après la connexion

Pour diviser cette chaîne par un point-virgule ou une virgule suivie d'un espace, nous pouvons utiliser l'expression régulière suivante :

'; |, '
Copier après la connexion

Ce modèle correspond soit un point-virgule, soit une virgule suivi d'un espace. À l'aide de la fonction re.split(), nous pouvons diviser la chaîne comme suit :

import re

re.split('; |, ', "b-staged divinylsiloxane-bis-benzocyclobutene [124221-30-3], mesitylene [000108-67-8]; polymerized 1,2-dihydro-2,2,4- trimethyl quinoline [026780-96-1]")
Copier après la connexion

Remarque : Les virgules individuelles sans espaces de fin ne seront pas divisées.

Mise à jour : modèle de délimiteur étendu

La solution donnée peut être étendue pour inclure des délimiteurs supplémentaires. Par exemple, pour diviser la chaîne suivante par des points-virgules, des virgules, des astérisques et des nouvelles lignes :

"Beautiful, is; better*than\nugly"
Copier après la connexion

L'expression régulière deviendrait :

'; |, |\*|\n'
Copier après la connexion

Utilisation de la fonction re.split() comme avant :

re.split('; |, |\*|\n', 'Beautiful, is; better*than\nugly')
Copier après la connexion

Cela donnerait le résultat divisé suivant :

['Beautiful', 'is', 'better', 'than', 'ugly']
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal