Message posté par : Robin BNF
----------------------------------------
Bonjour,
Pour répondre à votre besoin, vous pouvez créer une fonction personnalisée dans
l'Éditeur de fonction de QGIS. Pour cela :
- Ouvrez la calculatrice de champs ;
- Cliquer sur l'onglet "Éditeur de fonction"
- Cliquer sur le symbole '+' en vert pour ajouter une nouvelle fonction et
nommer la;
- Dans l'encart du haut; copier-coller le code suivant :
-----------------
Code :
import re
@qgsfunction(args='auto', group='Custom')
def regexp_matchV2(word, reference, feature, parent):
max_consecutive = 4 # Vous pouvez ajuster cette valeur si nécessaire
for i in range(len(word) - max_consecutive + 1):
substring = word[i:i + max_consecutive]
if re.search(substring, reference):
return True
return False
-----------------
- Cliquer sur "Enregistrer et charger les fonctions" (en bas à droite de
l'encart) ;
- Retourner sur l'onglet "Expression" ;
- Vous trouverez la fonction 'regexp_matchV2()' dans le groupe
"Custom" ;
- Enfin, dans votre CASE WHEN remplacer 'regexp_match()' par
'regexp_matchV2()'.
En espérant que cela vous soit utile,
Robin B
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=361995#p361995
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