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]"
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 :
'; |, '
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]")
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"
L'expression régulière deviendrait :
'; |, |\*|\n'
Utilisation de la fonction re.split() comme avant :
re.split('; |, |\*|\n', 'Beautiful, is; better*than\nugly')
Cela donnerait le résultat divisé suivant :
['Beautiful', 'is', 'better', 'than', 'ugly']
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!