Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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é ?

Annonce

GEODATA DAYS 2024

#1 Tue 15 November 2016 10:36

ralbagly
Participant occasionnel
Date d'inscription: 28 Sep 2016
Messages: 15

QGIS: Séparer un champ délimité dans la table d’attributs

Bonjour,

J’ai besoin de séparer un champ dans ma table d’attributs selon des délimitations. Para exemple j’ai un champ qui as des codes séparer comme ça : 0054-RAS-878 et je voudrais à partir de ça, considérant les tirés, le champ sois divisé en trois nouvelles champs : Champ A : 0054, Champ B : RAS, Champ C : 878.

Les fonctions left et right ne me convient pas parce que la longueur des codes varie tout le temps.

Merci de vôtres réponses !

Hors ligne

 

#2 Tue 15 November 2016 11:35

michel56
Participant assidu
Lieu: Lorient
Date d'inscription: 14 Jul 2012
Messages: 474

Re: QGIS: Séparer un champ délimité dans la table d’attributs

Bonjour,

regarde si ça marche avec ce code.

Code:

regexp_substr( "NomCHAMP", '(.*)[-](.*)[-]') Pour le Champ A
regexp_substr( "NomCHAMP", '[-](.*)[-]') Pour le Champ B
regexp_substr( "NomCHAMP", '[A-Z][-](.*)') Pour le Champ C

Dernière modification par michel56 (Tue 15 November 2016 12:29)


Opérateur cartographique & DAO & PHP.

Hors ligne

 

#3 Tue 15 November 2016 13:58

Florent LUQUET
Participant occasionnel
Lieu: Vallet
Date d'inscription: 24 Mar 2016
Messages: 12

Re: QGIS: Séparer un champ délimité dans la table d’attributs

Bonjour,

Pour les allergiques au Regex, ça devrait marcher aussi en 4 étapes :

Code:

Mettre à jour le champ 1
left(  "code" , strpos(  "code"  ,'-') -1)

Mettre à jour le champ 2 temporairement
substr( "code", strpos(  "code"  ,'-') +1, length(  "code"))
 
Mettre à jour le champ 3
right("champ_2", length("champ_2") - strpos(  "champ_2"  ,'-'))

Mettre à jour le champ 2
left( "champ_2" , strpos( "champ_2" ,'-') -1)

Bonne continuation

Dernière modification par Florent LUQUET (Wed 16 November 2016 08:37)


Florent LUQUET
www.maply.fr

Hors ligne

 

#4 Wed 16 November 2016 09:58

ralbagly
Participant occasionnel
Date d'inscription: 28 Sep 2016
Messages: 15

Re: QGIS: Séparer un champ délimité dans la table d’attributs

Bonjour,
Ta solution marche parfaitement bien, merci beaucoup !

Considérant ta volonté de partager le connaissance et ton expertise, je me permet de te demander si ’il te plait un autre post que j’ai mis pour voir si tu as des idées par rapport à ça. Je te laisse le Link du post :

http://georezo.net/forum/viewtopic.php?id=103358

Merci beaucoup,
Rafael

Hors ligne

 

Pied de page des forums

Powered by FluxBB