Message posté par : Jérémie
----------------------------------------
-----------------
Nighthawk écrit :
Si je comprend bien (parce que je ne suis pas très familiarisé avec les regex) :
le '^(, )+' signifie que l'on est au début de la chaine de caractères (ce
serait le "^" ?) et qu'il peut y avoir un nombre inconnu de ", "
répétés (ce serait le "+" ?)
-----------------
C'est ça :
^ pour début de chaîne/ligne
(, ) : parenthèses pour grouper la chaîne composée de la virgule suivie de l'espace
+ pour indiquer que ce groupe est présent de 1 à n fois (donc au moins une fois)
-----------------
Nighthawk écrit :
Du coup on retrouverais le nombre inconnu de répétitions en milieu de chaîne (toujours
avec le "+")
-----------------
oui, la deuxième étape est le remplacement du groupe (, ) présent entre 1 et n fois (le +)
par une seule occurrence virgule espace
-----------------
Nighthawk écrit :
Et en fin de chaîne c'est un peu plus complexe pour moi : le "$"
signifierais à la fois qu'on est en fin de chaine et qu'on a ", " répété
un nombre inconnu de fois ?
-----------------
Le dollar signifie bien la fin de chaîne/ligne.
Donc là on remplace une virgule placée en fin de ligne par une chaîne vide.
Attention, si tu as encore une espace après la dernière virgule il faut la mettre dans la
chaîne à remplacer :
-----------------
Code :
regexp_replace(
regexp_replace(
regexp_replace("champ" ,'^(, )+',''),
'(, )+',
', '),
',$ ',
''
)
-----------------
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=358801#p358801
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net