Pages: 1
- Sujet précédent - QGIS: Remplacer une expression en fonction de sa position - Sujet suivant
#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: 412
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
Pages: 1
- Sujet précédent - QGIS: Remplacer une expression en fonction de sa position - Sujet suivant