banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#1 Sat 11 March 2023 12:20

jbouffand
Juste Inscrit !
Date d'inscription: 17 Jul 2014
Messages: 3

QGIS: Remplacer une expression en fonction de sa position

Bonjour à tous,

Je cherche à nettoyer une base de données en éliminant ou changeant des expressions en fonction de leur position. Typiquement, je souhaite remplacer 'au' par 'le' uniquement si 'au' est situé en début d'expression. J'ai essayé plein de combinaisons à partir de replace, regexp_replace, left, etc. Au mieux, je remplace toutes les occurences de 'au', qu'elles soient au début ou au milieu de l'expression. Au pire, j'écrase la totalité de l'expression qui est remplacée par 'le'.

Quelqu'un a-t-il une solution pour moi? J'ai 900 cellules à corriger et j'ai pas envie de le faire à la main...

Merci!

Hors ligne

 

#2 Sat 11 March 2023 15:39

p.jeremie
Participant assidu
Lieu: Valence
Date d'inscription: 10 Sep 2017
Messages: 426

Re: QGIS: Remplacer une expression en fonction de sa position

Bonjour,

regexp_replace() est bien une bonne solution pour votre problématique.

Le début de chaîne est spécifié avec le caractère ^
Donc l'expression suivante devrait fonctionner :

Code:

regexp_replace( "nom_champ" ,'^au','le')

p.s. : si vous voulez tester votre expression rationnelle, vous pouvez par exemple utiliser le site https://regex101.com/ qui vous aidera bien.

Dernière modification par p.jeremie (Sat 11 March 2023 15:41)

Hors ligne

 

#3 Sat 11 March 2023 17:47

jbouffand
Juste Inscrit !
Date d'inscription: 17 Jul 2014
Messages: 3

Re: QGIS: Remplacer une expression en fonction de sa position

ça marche parfaitement, merci beaucoup p.jeremie!

J'ai une autre question, plus anecdotique car elle concerne moins de géométries: comment faire pour remplacer une expression qui comporte une apostrophe, puisque les expressions à remplacer sont délimitées par des apostrophes?

EDIT: pardon, pour cette dernière question j'ai trouvé une solution dans ce sujet:
https://georezo.net/forum/viewtopic.php?id=102839

Dernière modification par jbouffand (Sat 11 March 2023 17:50)

Hors ligne

 

Pied de page des forums

Powered by FluxBB