Trucsweb.com

Forum de discussion

 Forum « Programmation ASP » (archives)

Re: fonction Replace et RegExp

Envoyé: 6 juillet 2004, 9h15 par Oznog


Salut,

Tu peux ajouter plus d'un caractère mais il ne remplacera pas les caractères mais la chaîne trouvés au complet :

' Remplace tous les "Allo" par "Bonjour"
details2=replace(Request.Form("details"),"Allo","Bonjour")

Pour plusieurs remplacement tu le fais un à la suite de l'autre :

details2=replace(Request.Form("details"),"'","''")
details2=replace(details2,"""",""""")
details2=replace(details2,"`","'")

Note que le deuxième remplacement, utilise la source details2 et non plus Request.Form("details").

Mais j'aimerais bien savoir pourquoi, si on savait le contexte, et pourquoi exactement tu veux faire ça on aurait peut être une autre solution.

D'autre part, tu as aussi les expression régulière, plus complexe à manipuler mais très puissant. C'est par contre pas très utile pour remplacer un caractère. C'est plutôt pratique pour des remplacement complexe comme une chaîne entre deux chaîne spécifique ou autre circonstance très précise. JE ne peux pas t'expliquer ici, seulement les caractères réservé pour le "patern" prend plus d'une page, mais voilà la syntaxe de base :

' Création de l'objet
Set oRegExp = New RegExp
' Spécifier le "patern"
oRegExp.Pattern = patrn
' Exécute le remplacement sur une chaîne
sTemp = oRegExp.Replace(chaine1, chaineDeRemplacement)

"chaineDeRemplacement" peut contenir les variables $1 $2... qui corespondent aux "partern trouvé".

Voilà un exemple très simple :

<%
Dim sTemp, oRegExp
sTemp = "http://www.trucsweb.com";
Set oRegExp = New RegExp

With oRegExp
.Pattern = ".com" ' Le patern
.IgnoreCase = True ' pas de différence entre minuscule et majuscule
.Global = True ' Tout les "match" et non pas seulement le premier
End With

' Résultat http://www.trucsweb.net
Response.Write = oRegExp.Replace(sTemp, ".net")

Set oRegExp = nothing
%>

Maintenant toujours un exemple simple mais ou l'on peut voir toute la suptillité d'un "patern" :

<%
' Retourne Vrais ou Faux (true/false)
' si l'adresse est valide ou non
Dim oRegExp
Set oRegExp = new RegExp
oRegExp.pattern = "^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$"
Response.Write oRegExp.Test("adresse@courriel.com")
Set oRegExp = nothing
%>

Ciao
Oznog


Réponses

 Aucune réponse à ce message... 
Aucun médias sociaux
X

Trucsweb.com Connexion

Connexion

X

Trucsweb.com Mot de passe perdu

Connexion

X

Trucsweb.com Conditions générales

Conditions

Responsabilité

La responsabilité des Trucsweb.com ne pourra être engagée en cas de faits indépendants de sa volonté. Les informations mises à disposition sur ce site le sont uniquement à titre purement informatif et ne sauraient constituer en aucun cas un conseil ou une recommandation de quelque nature que ce soit.

Aucun contrôle n'est exercé sur les références et ressources externes, l'utilisateur reconnaît que les Trucsweb.com n'assume aucune responsabilité relative à la mise à disposition de ces ressources, et ne peut être tenue responsable quant à leur contenu.

Droit applicable et juridiction compétente

Les règles en matière de droit, applicables aux contenus et aux transmissions de données sur et autour du site, sont déterminées par la loi canadienne. En cas de litige, n'ayant pu faire l'objet d'un accord à l'amiable, seuls les tribunaux canadien sont compétents.

X

Trucsweb.com Trucsweb

X

Trucsweb.com Glossaire

X

Trucsweb.com Trucsweb

X

Trucsweb.com Trucsweb

Conditions

Aucun message!

Merci.

X
Aucun message!
X

Trucsweb.com Créer un compte

Créer un compte

.
@