Pour la longueur, on va faire une soustraction, la position de la fin de la
chaîne moins la position de début.
La fin de la chaîne :
La seule partie de la chaîne qui ne varie pas en longueur, c'est le code du
département. Avec une écriture un peu différente, on obtient:
CHERCHE("(?<=[0-9]{1,4} ?[A-Z]{2,3} ?)[0-9]{2}";A1;1)+2)
Ce qui veut dire:
Chercher la position d'un code de deux chiffres : [0-9]{2}
à la condition qu'il soit précédé de : [0-9] {1,4} ?[A-Z]{2,3} ?
A quoi il faut ajouter 2 pour avoir la fin de la chaîne.
Le début de la chaîne ne pose pas de problème particulier :
CHERCHE("[0-9]{1,4}.{2,5}[0-9]{2}";A1;1)
La longueur sera calculée par :
CHERCHE("(?<=[0-9]{1,4} ?[A-Z]{2,3} ?)[0-9]{2}";A1;1)+2) -
CHERCHE("[0-9]{1,4} ?[A-Z]{2,3} ?[0-9]{2}";A1;1)
On a donc la formule suivante pour la recopie :
STXT(A1;CHERCHE("[0-9]{1,4} ?[A-Z]{2,3}
?[0-9]{2}";A1;1);CHERCHE("(?<=[0-9]{1,4} ?[A-Z]{2,3}
?)[0-9]{2}";A1;1)+2-CHERCHE("[0-9]{1,4} ?[A-Z]{2,3} ?[0-9]{2}";A1;1))
Là, je reconnais que c'est un peu difficile à lire. Mais il y a beaucoup de
contraintes.
S'il y avait eu des parenthèses partout autour des numéros
d'immatriculation, ça devient beaucoup plus facile. En citant Pierre-Yves :
=STXT(A1;TROUVE("(";A1)+1;TROUVE(")";A1)-TROUVE("(";A1)-1)
Un bon formatage...
Cordialement,
Jacques
--
View this message in context:
http://nabble.documentfoundation.org/LibreOffice-4-1-3-2-Tout-OS-Extraire-une-chaine-de-caracteres-tp4085471p4088209.html
Sent from the Users mailing list archive at Nabble.com.
--
Envoyez un mail à [email protected] pour savoir comment vous
désinscrire
Les archives de la liste sont disponibles à
http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne
pourront pas être supprimés