Remplacer une chaine de caractere sans tenir comtpe de la case [Résolu]

Signaler
Messages postés
10
Date d'inscription
lundi 11 septembre 2006
Statut
Membre
Dernière intervention
30 septembre 2008
-
Messages postés
10
Date d'inscription
lundi 11 septembre 2006
Statut
Membre
Dernière intervention
30 septembre 2008
-
J'ai trouvé ce code en farfouillant le web

Dim monTexte AsString = "Une astuce de dvp.com ! Une astuce de dvp.com !"Dim maRegEx AsNew Regex("\bdvp.com\b", RegexOptions.IgnoreCase)

monTexte = maRegEx.Replace(monTexte, "Developpez.com")

Je ne sais pas à quoi correspond le \b... c'est juste par curiosité que je demande

Merci d'avance

Male

11 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
36
Alors d'après mes recherches \b désigne l'extémité du mot. Donc la chaine indiquée doit etre présente au début (si \b est devant) ou à la fin (si \b est après) du mot.

Le . signifie tous caractères (équivalent au * dans les nom de fichiers en DOS)

Donc \bdvp.com\b, si j'ai bien compris, doit renvoyer tout mot commançant pas dvp, finissant pas com, et contenant n'importe quoi entre. style dvp12354totoalecole2953com 

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
36
De se que j'en ai compris le pattern indiqué doit etre interprété ainsi (en rouge les codes regex, en bleu les textes recherchés)
\bdvp.com\b

Pour traiter \b comme tu dit Jacques, il doit y avoir certainement moyen de l'encadrer, peut-etre en doublant le \ comme en C

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
Salut,

En allant sur le site de Bdvp.com, le \b, ne renvois pas à un index de page, donc je dirai qu'il ne sert pas, ou alors j'ai pas mes lunettes!!


A+
Exploreur


 
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
36
lol Explorer, regarde d'abord un tuto sur les expressions régulières

\b est un code de controle de l'expression (le site serait plutot dvp.com). A quoi il sert? je cherche. je maitrise pas moi non plus

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
24
Heu...

Dans cette affaire : "\bdvp.com\b" ne me semble qu'être la chaîne à traiter par le replace, sans tenir compte de la casse (et pas "case")
puisque l'on en décide ensuite par l'argument  RegexOptions.IgnoreCase
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
Salut Casy,

Euh, c'est quoi une expression régulière Casy ?

A+
Exploreur
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
36
Fait une recherche sur le net sur 'regex', ou sur 'expression régulière' tu trouveras des info. Sur le site Developpez.com aussi

C'est un domaine assez complexe, mais très puissant parait-il.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
24
Oui, Casy,

Mais ce n'est pas "\bdvp.com" \b, que nous avons, mais "\bdvp.com\b"

Si tu avais raison, il ne serait pas possible de traiter une chaîne se terminant par "\b"
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
24
C'est ma foi possible (curieux mais possible...) comme syntaxe...


Je n'en sais rien.
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
36
vérification faite, il faut le doubler.

curieux, non, qu'en tu as l'habitude de manipuler les chaines de caractères en C, avec notamment les fonctions de la famille printf
Au contraire, ça rassure de retrouver des similitudes.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
10
Date d'inscription
lundi 11 septembre 2006
Statut
Membre
Dernière intervention
30 septembre 2008

Super et l'explication est trés claire.
Effectivement ça a l'air trés intéressant comme syntaxe.

Merci Casy !

Male