#1 Mon 21 February 2022 12:02
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1668
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: 150
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: 994
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: 994
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