Skip to Content

Nous adressons toutes nos pensées à la famille de notre ami Jérôme !

http://www.forumsig.org/showthread.php/43488-Disparition-de-Phoenix

Comment récupérer les chiffres d'un champ texte ?

Version: 
10

La question provient d'une discussion du forumSIG http://www.forumsig.org/showthread.php?t=31982

ArcGIS permet aujourd'hui et de plus en plus d'utiliser le langage python, ainsi il est possible d'utiliser toute la puissance de ce langage au travers d'ArcGIS et même via la calculatrice de champs.

Pour répondre à cette question il est par exemple possible d'utiliser le module re de python : régular expression http://docs.python.org/library/re.html

On utilise ensuite la méthode sub du module re qui va faire un chercher remplacer et fonctionne ainsi

re.sub(motifarechercher,remplacement,chaine)

ici on cherche les lettres, on les remplace par rien ce qui nous donne :

re.sub('[a-zA-Z]','',montexte)

Si on souhaite faire l'inverse, c'est à dire ne récupérer que les lettres on pourrait faire :

re.sub('[0-9]','',montexte)

Cela se traduirait ainsi dans la Calculatrice de valeurs de champs (en partant du principe que je veux mettre à jour mon champs "remplaceme" à partir du champs "texte" et en ne souhaitant conserver que les chiffres) :

  • Cocher python dans l'Analyseur
  • Activer Afficher le bloc de code
  • Remplir ainsi :

Et voici le résultat dans la table attributaire :

Le motif à rechercher utilise les expressions régulières, on peut donc complexifier considérablement le motif à rechercher pour arriver au résultat souhaité.

Il y a probablement de nombreuses autres possibilités pour arriver à ce résultat.