#1 Fri 18 March 2022 14:15
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1668
QGIS: Extraire du texte
Bonjour,
J'ai du texte du genre :
NOM COMMUNE_Nom1 - Nom2 - Nom3 - Nom4
Je que veux en extraire que le premier nom, du style :
NOM COMMUNE_Nom1
Comment faire?
Merci.
Hors ligne
#2 Fri 18 March 2022 14:55
- SAFI CAMARA
- Participant occasionnel
- Date d'inscription: 17 Nov 2021
- Messages: 10
Re: QGIS: Extraire du texte
Bonjour,
Essayer ceci : left( "nom" , strpos( "nom" ,'1')) avec nom correspondant à votre attribut que vous voulez découper.
Cordialement
Hors ligne
#3 Fri 18 March 2022 15:01
- Dolmayan
- Participant occasionnel
- Date d'inscription: 3 Aug 2014
- Messages: 42
Re: QGIS: Extraire du texte
Bonjour
On peut utiliser la fonction regexp_substr qui renvoie la portion d'une chaîne de caractères qui correspond à une expression régulière fournie.
L'expression régulière est ^.*?(?= - )
Le contenu de cette expression régulière sera retourné par la fonction, à savoir tous les caractères qui se trouve avant la chaine de caractères " -"
Code:
CASE WHEN regexp_substr("NOM_COM",'^.*?(?= -)') ='' THEN "NOM_COM" ELSE regexp_substr("NOM_COM",'^.*?(?= -)') END
Explications :
^ On cherche dès le début de la chaine de caractères
. tous les caractères qui
* apparaissent 0, 1 ou plus d'une fois
? mais on match 0 ou 1 seul fois
(?= -) l'ensemble qui correspond à la première itération de " -"
Le case when permet de conserver les noms de communes qui ne rencontrent pas l'expression régulière.
Source : https://askcodez.com/expression-regulie … avant.html
Hors ligne
#4 Fri 18 March 2022 15:12
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1668
Re: QGIS: Extraire du texte
ok merci.
Hors ligne