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 Fri 14 June 2019 10:19

GlaDal
Participant assidu
Date d'inscription: 30 Aug 2013
Messages: 1095

QGIS 3.6: Somme multiples valeurs numériques dans un champ texte

Bonjour,

Je suis en panne sur l'utilisation d'expressions régulières (encore !) dans Qgis. Je cherche à additionner toutes les valeurs numériques présentes dans un champ texte. Par exemple :

"1/je/3/suis/47/zen"

L'expression donnerait pour cet objet le résultat suivant : 51

D'avance merci à celui qui m'aidera !

Gladal

Hors ligne

 

#2 Fri 14 June 2019 11:49

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3945

Re: QGIS 3.6: Somme multiples valeurs numériques dans un champ texte

Salut,
Je commence à me mettre aux expressions régulières aussi donc voici une proposition que les gurus sauront certainement mieux écrire (mais ça semble fonctionner)

Code:

array_sum( -- on somme les éléments du tableau
  string_to_array( 
    regexp_replace( 
      '1/je/3/suis/47/zen', '[/a-zA-Z]+','-' -- on remplace les textes par '-'
      )
    , '-', '0' -- on convertit en tableau les valeurs séparées par le caractère '-' et si un tableau contient '-', on y met plutôt la valeur 0 (compatible ici car on veut sommer)
  )
)

PS: array_sum requiert l'extension Array Plus (et peut-être qu'Array Plus propose un moyen direct - pas cherché; j'y ai eu recours quand j'avais atteint ce qui me semble être les limites de QGIS en natif)

Hors ligne

 

#3 Fri 14 June 2019 11:52

GlaDal
Participant assidu
Date d'inscription: 30 Aug 2013
Messages: 1095

Re: QGIS 3.6: Somme multiples valeurs numériques dans un champ texte

Merci SANTANNA, je regarde de suite. De mémoire, il me semble que les fonctions Array ont été intégrées dans Qgis depuis la dernière version. Je te redis.

Dernière modification par GlaDal (Fri 14 June 2019 11:53)

Hors ligne

 

#4 Fri 14 June 2019 12:12

GlaDal
Participant assidu
Date d'inscription: 30 Aug 2013
Messages: 1095

Re: QGIS 3.6: Somme multiples valeurs numériques dans un champ texte

SANTANNA... Ca marche !!! C'est beau....
Merci pour ton aide... Par contre, j'ai bien du installer l'extension dont tu me parlais.

Hors ligne

 

#5 Fri 14 June 2019 12:14

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3945

Re: QGIS 3.6: Somme multiples valeurs numériques dans un champ texte

Il y a en effet de plus en plus de fonctions array mais elles ne couvrent pas toutes les applications possibles, d'où l'extension.

Hors ligne

 

#6 Fri 14 June 2019 13:33

sylvain poupard
Participant assidu
Date d'inscription: 19 Mar 2009
Messages: 362

Re: QGIS 3.6: Somme multiples valeurs numériques dans un champ texte

Bonjour,

Merci SANTANNA, j'étais parti dans la même direction mais j'étais loin qd mm, j'aurai dû rafraichir la page plus rapidement et attendre ton post... wink
Peux-tu me dire où tu trouves ce genre d'info stp?

'[/a-zA-Z]+'


Merci

Hors ligne

 

#7 Fri 14 June 2019 14:48

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3945

Re: QGIS 3.6: Somme multiples valeurs numériques dans un champ texte

sylvain poupard a écrit:

Peux-tu me dire où tu trouves ce genre d'info stp?

'[/a-zA-Z]+'


Merci


C'est une expression régulière qui signifie: sélection d'une série de un ou plusieurs caractères consécutifs, qu'ils soient alphabétiques (de a à z, majuscule comme minuscule) et de /. Après où je le trouve? Le web. J'ai appris de cet article (la première partie surtout m'intéressait) et un autre que je ne retrouve pas à l'instant, plus un cas pratique que j'ai récemment dû régler big_smile.

Hors ligne

 

#8 Fri 14 June 2019 15:06

sylvain poupard
Participant assidu
Date d'inscription: 19 Mar 2009
Messages: 362

Re: QGIS 3.6: Somme multiples valeurs numériques dans un champ texte

@SANTANNA : Je n'avais pas les "expressions régulières" comme corde à mon arc ^^'! Très bon article au passage et merci!

Hors ligne

 

Pied de page des forums

Powered by FluxBB