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 Thu 22 April 2021 14:00

GOLDOSAM
Participant actif
Date d'inscription: 7 Jul 2017
Messages: 54

Aide pour rechercher et splitter à partir d'expression régulière.

Bonjour,

J'aimerais à partir d'une expression régulière chercher un mot et splitter comme ci-dessous.


J'ai ce genre de donnée à préparer ainsi :

Départ de la donnée -> 10 A RUE DE TOTO ou 8 RUE DE TOTO

à la fin -> NUM_VOIRIE=10
               SEQ=A
               NOM_RUE=RUE DE TOTO

ou

à la fin -> NUM_VOIRIE=8
               NOM_RUE=RUE DE TOTO

Quelle approche auriez-vous pour bien séparer mes données ?

Merci à vous,

Hors ligne

 

#2 Thu 22 April 2021 17:47

Diplos
Participant occasionnel
Lieu: Lorraine
Date d'inscription: 23 Aug 2016
Messages: 25

Re: Aide pour rechercher et splitter à partir d'expression régulière.

Bonjour,

Avec 10 A RUE DE TOTO en A1 dans un fichier Excel.

En B1 pour obtenir le numéro de rue =STXT(A1;1;TROUVE(" ";A1;1)-1)

En C1 pour obtenir la rue sans le numéro =STXT(A1;TROUVE(" ";A1)+1;250)

En D1 pour obtenir SEQ =STXT(C1;1;TROUVE(" ";C1;1)-1)

En E1 pour obtenir la rue =STXT(C1;TROUVE(" ";C1)+1;250)

Remarque, il faut contrôler les résultats :

Si la colonne B ne doit contenir que des chiffres un petit tri des résultats permettra d'identifier :
- les erreurs de saisie 10B au lieu de 10 B
- les rue sans numéros

Si la colonne D ne doit contenir que des lettres d'un caractère un nbcar permettra de vérifier les données différentes de 1

Automatiquement il faudra adapter les formules ou les valeurs saisie en colone C, D pour conserver le résultat attendu.


Diplos

Hors ligne

 

#3 Thu 22 April 2021 19:36

cquest
Participant assidu
Date d'inscription: 6 Jan 2013
Messages: 875

Re: Aide pour rechercher et splitter à partir d'expression régulière.

GOLDOSAM a écrit:

Bonjour,

J'aimerais à partir d'une expression régulière chercher un mot et splitter comme ci-dessous.


J'ai ce genre de donnée à préparer ainsi :

Départ de la donnée -> 10 A RUE DE TOTO ou 8 RUE DE TOTO

à la fin -> NUM_VOIRIE=10
               SEQ=A
               NOM_RUE=RUE DE TOTO

ou

à la fin -> NUM_VOIRIE=8
               NOM_RUE=RUE DE TOTO

Quelle approche auriez-vous pour bien séparer mes données ?

Merci à vous,


toutes les adresses sont structurées comme ça ?
- pas d'abréviation sur le type de voie comme "A DE LA MAIRIE" ou "R DE L'EGLISE" ?


Dans ce cas: 

Code:

^([0-9]*) ?(.|BIS|TER|QUATER)? (.*)$

\1 contient le numéro seul
\2 le suffixe
\3 contient le nom de voie

Exemple (visuel): https://regex101.com/r/7QL76e/2/


Christian Quest - https://amicale.net/@cquest sur Mastodon (terminé twitter/X)
Membre fondateur et porte parole d'OpenStreetMap France
Initiateur de opendatArchives, OpenEventDatabase, Panoramax

Hors ligne

 

#4 Thu 22 April 2021 20:46

p.jeremie
Participant assidu
Lieu: Valence
Date d'inscription: 10 Sep 2017
Messages: 427

Re: Aide pour rechercher et splitter à partir d'expression régulière.

Top comme expression @cquest.

Pour info, début de discussion à ce sujet également dans le forum FME.
L'expression proposée répondra bien également dans cet outil.

https://georezo.net/forum/viewtopic.php?pid=342628

Hors ligne

 

Pied de page des forums

Powered by FluxBB