Le 20 déc. 04, à 18:10, Jean-Pierre Astier a écrit :
> Bonjour,
>
> J'aimerais savoir si quelqu'un connaît le moyen d'extraire un nombre de
> taille indéterminée d'une chaîne de caractère en xsl.
>
> ex. Population 125895632 note: xxxxxxxxxxxxx
>
> Comment puis-je extraire ce nombre ???
Si le problème est bien de récupérer le *premier* nombre qui apparaît
dans une chaîne, la solution ci-dessous doit fonctionner :
temp = translate(concat(' ', $text, ' '), '1234567890.', '###########')
premierNombreDansChaine = normalize-space(substring($text,
string-length(substring-before($temp, ' #'))+1,
string-length($temp)-string-length(substring-before(@text, '
#'))-string-length(substring-after($temp, '# '))))
j'ai inclu le point pour prendre en compte les nombres décimaux.
Attention : le nombre ne doit pas être précédé d'un point encadré par 2
espaces (ce qui normalement ne doit pas se produire, mais un test
préalable serait plus sûr pour avoir un code "blindé").
Le caractère '#' peut bien entendu être remplacé par un caractère plus
improbable.
quelques retouches seront peut être nécessaires car je n'ai pas testé
...
Cordialement
Bob
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Received on Tue Dec 21 23:04:00 2004