logo       

Re: Extraire un nombre d'une chaîne de caractères - XSL: msg#00175

text.xml.french.tech

Subject: Re: Extraire un nombre d'une chaîne de caractères - XSL

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




<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise