#1 Fri 18 March 2022 14:15
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1744
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",'^.*?(?= -)')
ENDExplications :
^        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: 1744
Re: QGIS: Extraire du texte
ok merci.
Hors ligne





