cs_enda
Messages postés11Date d'inscriptionsamedi 25 mai 2002StatutMembreDernière intervention 1 novembre 2004
-
1 juin 2002 à 14:06
syndrael
Messages postés2378Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention29 décembre 2012
-
1 juin 2002 à 17:26
Bonjour,
une petite question de plus (merci a ceux qui repondent :) )
Concernant les regex, je suis un peu desarsonné en coldfusion, auriez vous une doc assez claire à me proposer?
Ou bien m'expliquer sur l'exemple suivant;
je cherches a utiliser REFindnocase sur une variable, sachant que toutes les occurences m'interessent?
En fait je supposes que cela donne qqch du genre:
<cfset mavar=REFindnocase("mon critere","machaine",??nombre d'ocurences??,??True??>
sur le principe en mettant un nombre plus large que les situations envisagée, cela devrait etre bon, mais au moment de l'afficher... probleme..
à quoi correspond la variable? à un tableau? j'ai testé le principe du tableau en php (soit mavar[1] par exemple) mais cela ne fonctionne pas non plus??
cs_enda
Messages postés11Date d'inscriptionsamedi 25 mai 2002StatutMembreDernière intervention 1 novembre 2004 1 juin 2002 à 15:22
Autant pour moi..
la reponse est aussi bete que: REFind sert uniquement à valider la presence d'une chaine... pas a la renvoyer, meme partiellement, ce qui est le boulot de REReplace, j'oublies qq peu mes bases....
Le nombre que tu indiques ne correspond pas à un nombre d'occurences, mais à quelle position tu veux démarrer ta recherche dans la chaine de caractère.
Si tu veux trouver toutes les occurence, il va falloir boucler avec une position de départ supérieure à chaque fois.
Le "True" ou "False" : "True" indique que tu veux retourner un tableau indiquant à quel endroit l'occurence a été trouvée, et sa longueur (bien utile si tu utilise les wildcards)...Dans ce cas, ta variable mavar devient une structure(tableau associatif), contenant elle même 2 tableaux à une dimension et un seul élément (pos et len), que tu peux consulter de la façon suivante : mavar.pos[1] et mavar.len[1]
Mais cela ne marche que pour la première occurence. A nouveau, si tu veux pouvoir trouver toutes les occurences et avoir un tableau complet, il faut boucler et programmer ça toi même..
Si tu mets "False", tu retournes dans ta variable juste la position à laquelle tu as trouvé ce que tu recherchais
Note : quand tu ne sait pas ce que contient ta variable, tu peux utiliser cfdump pour en lire le contenu. Trés utile pr débugguer
par exemple essaie <cfdump var="#mavar#"> , après ta recherche..
cs_enda
Messages postés11Date d'inscriptionsamedi 25 mai 2002StatutMembreDernière intervention 1 novembre 2004 1 juin 2002 à 15:30
Merci beaucoup, je vois que j'ai fais pas mal de confusions concernant REFind...
Il va falloir que je repotasses tout ca.. je vais d'ailleur de ce pas lire l'article.
Je crois que le cfdump peut m'etre très utile aussi..
merci encore
syndrael
Messages postés2378Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention29 décembre 201220 1 juin 2002 à 17:26
Pour le cfdump version de CF 5 minimun ou j'ai un cf_dump en customtag pour les versions antérieures...
Pour connaitre le nombre d'occurence, la aussi Custom tags mais à la mimine tio tout seul car moi j'en ai jamais vu d'intéressant en perf...
S.