Extraction de données avec styles possibles dans chaîne de caractères
Bonsoir,
je n'arrive à trouver une solution au problème suivant.
Demande :
Extraire des données d'une chaîne de caractères et créer des données pour un fichier XML
La chaîne peut contenir 0 ou n balises définissant des styles, sans imbrication.
Le style par défaut est 'NORMAL'
Effectué : de nombreux essais avec les regex, la fonction pos, split...
Code:
push @pos, $-[0] while m/<|>/g;
me permet de récupérer les positions des chevrons (< et >)
Code:
my @strings = split /<[^>]+>{1}/, $s;
me permet de récupérer les sous-chaines
Mais je n'arrive pas à trouver de solution globale me permettant de définir les couples sous-chaine/style avant de créer le XML. :mur:
Entrée :
chaine exemple suivante :
Code:
Veuillez trouver ci-dessous le <ITAL>détail des sommes</ITAL> dues au titre de la régularisation de votre pension. Attention : ce document constitue l'attestation de votre pension. <GRAS>Conservez-le, et n'en fournissez que des photocopies.</GRAS>
Sortie :
données pour un fichier XML :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
<texte>
<style>NORMAL</style>
<libelle>Veuillez trouver ci-dessous le </libelle>
<texte>
<texte>
<style>ITAL</style>
<libelle>détail des sommes</libelle>
<texte>
<texte>
<style>NORMAL</style>
<libelle> dues au titre de la régularisation de votre pension. Attention : ce document constitue l'attestation de votre pension. </libelle>
<texte>
<texte>
<style>GRAS</style>
<libelle>Conservez-le, et n'en fournissez que des photocopies</libelle>
<texte> |
Merci pour votre aide