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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Mon 21 February 2022 12:02

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1670

identification des lettres dans un champ alpha numérique

Bonjour,

Dans une table des parcelles, je souhaite créer un nouveau champ section (section de la parcelle) à partir d’un champ geo_section qui est constitué comme ceci :
- 5905580000B
Ou
- 590558000ZC

Comment faire pour que dans le champ section, il y ait :
- pour 5905580000B --> B
- pour 590558000ZC --> ZC

Hors ligne

 

#2 Mon 21 February 2022 13:54

Benoit D
Participant assidu
Date d'inscription: 17 Jul 2018
Messages: 151

Re: identification des lettres dans un champ alpha numérique

Bonjour, utilisez un StringSearcher.
Je suggère l'expression "(\d*)([A-Za-z]*$)" qui mettra dans le premier groupe toute série de chiffres, dans le deuxième la dernière série de lettre avant la fin de chaîne.
Dans les paramètres avancés, choisir un préfixe pour les "Subexpression Matches" par exemple "_sub", ensuite vous aurez le numéro dans "_sub{0}.part" et les lettres dans "_sub{1}.part"

Modification : en effet s'il s'agit de la section cadastrale : c'est toujours sur 2 caractères, un attribute manager avec la création de 2 champs prenant les 2 derniers caractères par un @right() est plus simple et efficace.

Dernière modification par Benoit D (Mon 21 February 2022 14:53)

Hors ligne

 

#3 Mon 21 February 2022 13:58

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 995

Re: identification des lettres dans un champ alpha numérique

Je débute complètement avec FME, mais je crois que ce genre de procédure se fait avec AttributeManager, en ajoutant un nouvel attribut avec cette "valeur d'attribut" :

Code:

@ReplaceString(@Right(@Value(geo_section),2),'0','')

En SQL (que je maitrise plus), je l'écrirais comme ça :

Code:

replace(right(geo_section, 2),'0','')

Version SQLite / Spatialite (QGis), où il n'y a pas de fonction right() mais qu'on peut remplacer par substr() :

Code:

replace(substr(geo_section, length(geo_section)-1, 2),'0','')

Sylvain M.

Hors ligne

 

#4 Mon 21 February 2022 14:05

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 995

Re: identification des lettres dans un champ alpha numérique

Précision : dans les fichiers fonciers, les sections cadastrales sont généralement codées sur 2 caractères, avec un '0' (zéro) en supplément lorsque la section ne comporte qu'une seule lettre. Exemple : 0A pour section A.


Sylvain M.

Hors ligne

 

Pied de page des forums

Powered by FluxBB