#1 Wed 04 May 2022 15:49
- matt84foot
- Juste Inscrit !
- Date d'inscription: 25 Apr 2022
- Messages: 5
Remplacer une chaîne de caractère en début de ligne
Bonjour,
Je souhaite une cellule qui contient des adresses mais les types de noms de voie sont écris en abrégés. J'aimerais renommer le début des lignes. Pour cela je pense que le transformateur adapté à mon cas est le STRINGREPLACER avec une expression conditionnel mais je n'arrive pas à le paramétrer correctement.
Voici la liste :
R DU MARCHE
CHE DU STADE
R TRAVERSIERE
AV SANTA VITTORIA
IMP DE LA PINEDE
PL DE L'HORLOGE
J'avais réussi par une autre méthode mais il me remplace le CHE de MARCHE et le AV de TRAVERSIERE.
Du coup, j'ai essayé dans le text to replace, l'expression suivante : ^(IMP|PL|AV|R|CHE)$ est-ce bon comme cela ?
Avez-vous une solution ?
Merci bien.
Hors ligne
#2 Wed 04 May 2022 19:42
- p.jeremie
- Participant assidu
- Lieu: Valence
- Date d'inscription: 10 Sep 2017
- Messages: 426
Re: Remplacer une chaîne de caractère en début de ligne
Bonjour,
Par quoi souhaitez-vous remplacer les R, CHE, AV, IMP et PL de début de ligne ? Par rien ?
Si c'est ça l'expression rationnelle qu'il vous faut dans le StringReplacer est :
Code:
^(IMP |PL |AV |R |CHE )
J'ai ajouté une espace après chacun de vos termes pour la remplacer également.
L'expression se lit comme suit :
^ : début de ligne
(IMP |PL |AV |R |CHE ) groupe de capture grâce aux () et chaque terme séparé par | correspond à une alternative possible à sélectionner (un OU en fait)
Et pas de $ à la fin qui signifie fin de ligne, ce qui reviendrait à chercher un ligne commençant par "CHE " et finissant juste après, donc ne contenant que ça (ou un des autres termes).
Si vous voulez tester vos expressions rationnelles, vous pouvez passer par un site spécialisé comme https://regex101.com/r/te1YYd/1
Ou sinon dans FME, via le StringSearcher qui permet de tester son expression. Dommage que cet écran ne soit pas sur chaque transformer avec une possibilité de renseigner une expression rationnelle, d'ailleurs.
Ressource Safe sur cet écran :
https://docs.safe.com/fme/2022.1/html/F … Editor.htm
qui précise que le moteur d'expressions rationnelles utilisé par FME est celui de PERL
Hors ligne
#3 Thu 05 May 2022 13:46
- matt84foot
- Juste Inscrit !
- Date d'inscription: 25 Apr 2022
- Messages: 5
Re: Remplacer une chaîne de caractère en début de ligne
Bonjour,
Merci beaucoup pour votre aide. Le transformateur a bien fonctionné correctement.
Hors ligne