cs_bastoun
Messages postés164Date d'inscriptiondimanche 1 octobre 2000StatutMembreDernière intervention23 mars 2007
-
21 avril 2002 à 01:13
cs_carresse
Messages postés1Date d'inscriptionmardi 18 juillet 2006StatutMembreDernière intervention27 juillet 2006
-
27 juil. 2006 à 19:56
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Là, c mieux... donc c'est double backslashs pour insérer un backslah...
cs_bastoun
Messages postés164Date d'inscriptiondimanche 1 octobre 2000StatutMembreDernière intervention23 mars 20071 21 avril 2002 à 01:22
bon.. encore raté... lisez backslash au lieu de slash avant tous les chiffres où il y a un slash ( / )
\ et là les backslashs sont passés ???
cs_bastoun
Messages postés164Date d'inscriptiondimanche 1 octobre 2000StatutMembreDernière intervention23 mars 20071 21 avril 2002 à 01:20
Bon je recommence.. les backslashs ne sont pas passés... petit conseil n'oubliez pas de mettre un slash avant tout backslash avant insertion d'un code sinon ça ne passe pas ;-)
<cfparam name="form.critere" default="va, Ceci, est">
<cfparam name="form.chaine" default="Ceci est la chaîne de caractères qui va servir de test">
Petites Explications :
Le premier argument de la fonction Rereplace est la chaine dans laquelle on recherche les expressions
Le deuxième contient les expressions recherchées
Le troisième indique par quoi remplacer l'expression trouvée
Le quatrieme est la portée ("ALL" pour toutes les occurences, "ONE" pour une seule)
Explication de l'expression recherché :
les () indiquent que l'on va rechercher un suite de caractères, et nous permet d'utiliser les backreferences.
le #ListChangeDelims(form.critere, '|' )# sert juste à transformer la chaine "va, Ceci, est" en "va| Ceci| est" , le | signifiant OU dans les regexp...
cela nous permet donc de rechercher les trois expressions en une seule opération
Le /1 (contenu dans ce qui doit remplacer la chaine trouvée) est une backreference, permettant de récupérer la chaine trouvée dans l'expression de recherche et contenue dans le premier bloc de parenthèse (ça tombe bien ici il n'y en a qu'un, si il y avait plusieurs blocs de parenthèses à la suite on pourrait utiliser /2 pour le deuxième, /3 pour le troisième etc)
Voilà, pour toute remarque, n'hésitez pas...
cs_bastoun
Messages postés164Date d'inscriptiondimanche 1 octobre 2000StatutMembreDernière intervention23 mars 20071 21 avril 2002 à 01:17
/1
cs_bastoun
Messages postés164Date d'inscriptiondimanche 1 octobre 2000StatutMembreDernière intervention23 mars 20071 21 avril 2002 à 01:13
Ton code fonctionne correctement, mais si il s'agit de renvoyer ton texte avec tes expressions mises en valeur, il te suffit d'utiliser REReplace avec les RegExp
Je donne le code au cas où
<cfparam name="form.critere" default="va, Ceci, est">
<cfparam name="form.chaine" default="Ceci est la chaîne de caractères qui va servir de test">
Petites Explications :
Le premier argument de la fonction Rereplace est la chaine dans laquelle on recherche les expressions
Le deuxième contient les expressions recherchées
Le troisième indique par quoi remplacer l'expression trouvée
Le quatrieme est la portée ("ALL" pour toutes les occurences, "ONE" pour une seule)
Explication de l'expression recherché :
les () indiquent que l'on va rechercher un suite de caractères, et nous permet d'utiliser les backreferences.
le #ListChangeDelims(form.critere, '|' )# sert juste à transformer la chaine "va, Ceci, est" en "va| Ceci| est" , le | signifiant OU dans les regexp...
cela nous permet donc de rechercher les trois expressions en une seule opération
Le 1 (contenu dans ce qui doit remplacer la chaine trouvée) est une backreference, permettant de récupérer la chaine trouvée dans l'expression de recherche et contenue dans le premier bloc de parenthèse (ça tombe bien ici il n'y en a qu'un, si il y avait plusieurs blocs de parenthèses à la suite on pourrait utiliser 2 pour le deuxième, 3 pour le troisième etc)
27 juil. 2006 à 19:56
14 juil. 2002 à 17:32
A+
SkyRide
21 avril 2002 à 01:23
Là, c mieux... donc c'est double backslashs pour insérer un backslah...
21 avril 2002 à 01:22
\ et là les backslashs sont passés ???
21 avril 2002 à 01:20
<cfparam name="form.critere" default="va, Ceci, est">
<cfparam name="form.chaine" default="Ceci est la chaîne de caractères qui va servir de test">
<cfset newChaine=REReplaceNoCase( form.chaine, "(#ListChangeDelims(form.critere, '|' )#)", "/1" , "ALL" ) >
<cfoutput>#newChaine#</cfoutput>
Petites Explications :
Le premier argument de la fonction Rereplace est la chaine dans laquelle on recherche les expressions
Le deuxième contient les expressions recherchées
Le troisième indique par quoi remplacer l'expression trouvée
Le quatrieme est la portée ("ALL" pour toutes les occurences, "ONE" pour une seule)
Explication de l'expression recherché :
les () indiquent que l'on va rechercher un suite de caractères, et nous permet d'utiliser les backreferences.
le #ListChangeDelims(form.critere, '|' )# sert juste à transformer la chaine "va, Ceci, est" en "va| Ceci| est" , le | signifiant OU dans les regexp...
cela nous permet donc de rechercher les trois expressions en une seule opération
Le /1 (contenu dans ce qui doit remplacer la chaine trouvée) est une backreference, permettant de récupérer la chaine trouvée dans l'expression de recherche et contenue dans le premier bloc de parenthèse (ça tombe bien ici il n'y en a qu'un, si il y avait plusieurs blocs de parenthèses à la suite on pourrait utiliser /2 pour le deuxième, /3 pour le troisième etc)
Voilà, pour toute remarque, n'hésitez pas...
21 avril 2002 à 01:17
21 avril 2002 à 01:13
Je donne le code au cas où
<cfparam name="form.critere" default="va, Ceci, est">
<cfparam name="form.chaine" default="Ceci est la chaîne de caractères qui va servir de test">
<cfset newChaine=REReplaceNoCase( form.chaine, "(#ListChangeDelims(form.critere, '|' )#)", "1" , "ALL" ) >
<cfoutput>#newChaine#</cfoutput>
Petites Explications :
Le premier argument de la fonction Rereplace est la chaine dans laquelle on recherche les expressions
Le deuxième contient les expressions recherchées
Le troisième indique par quoi remplacer l'expression trouvée
Le quatrieme est la portée ("ALL" pour toutes les occurences, "ONE" pour une seule)
Explication de l'expression recherché :
les () indiquent que l'on va rechercher un suite de caractères, et nous permet d'utiliser les backreferences.
le #ListChangeDelims(form.critere, '|' )# sert juste à transformer la chaine "va, Ceci, est" en "va| Ceci| est" , le | signifiant OU dans les regexp...
cela nous permet donc de rechercher les trois expressions en une seule opération
Le 1 (contenu dans ce qui doit remplacer la chaine trouvée) est une backreference, permettant de récupérer la chaine trouvée dans l'expression de recherche et contenue dans le premier bloc de parenthèse (ça tombe bien ici il n'y en a qu'un, si il y avait plusieurs blocs de parenthèses à la suite on pourrait utiliser 2 pour le deuxième, 3 pour le troisième etc)
Voilà, pour toute remarque, n'hésitez pas...