Remplacer énième caractère d'une chaine. [Résolu]

Signaler
Messages postés
82
Date d'inscription
jeudi 6 juillet 2006
Statut
Membre
Dernière intervention
6 janvier 2010
-
Messages postés
1229
Date d'inscription
vendredi 16 novembre 2007
Statut
Membre
Dernière intervention
16 juin 2009
-
Bonsoir,
J'aimerai savoir s'il existe une fonction en vb6 permettant de remplacer l'énième caractère d'une chaine,quel qu'il soit,en un autre caractère ou groupe de caractère.
Par exemple :
"abcdef" = > "ab xx def"
"abgdef" => "abxxdef"
"abgxdef" = > "ab xx xdef"
"bdcdefdg" => "bdcxxefdg"
Ici,le 3eme le caractère par "xx".
Pour le moment je scinde la chaine en 3,et substitue le partie central (le caractère a remplacer).
Mais n'existe t-il pas une fonction a cette effet ?

3 réponses

Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
23
Bonsoir,

essaye ceci, analyse et comprends :

Private Sub Command1_Click()
'exemple pour remplacer un caractère par un autre
toto = "abcdef"
Mid(toto, 3, 1) = "?"
MsgBox toto
'exemple pour remplacer un caractère par une chaîne
toto = "abcdef"
Mid(toto, 3, 1) = Chr(0)
toto = Replace(toto, Chr(0), "et voilà")
MsgBox toto
End Sub
Messages postés
82
Date d'inscription
jeudi 6 juillet 2006
Statut
Membre
Dernière intervention
6 janvier 2010

Merci jmfmarques :).
Je savais que l'on pouvais utiliser Mid() de la sorte :
toto = mid("abcd",2,2)
Mais pas en "sens inverse".
Jme coucherai un peu moins bête ce soir.
@+ et encore merci.
Messages postés
1229
Date d'inscription
vendredi 16 novembre 2007
Statut
Membre
Dernière intervention
16 juin 2009
1
Bonsoir,


Juste une chose. La fonction replace() ne le fait pas???



S.L.B.
<hr />
C'est au pied du mur qu'on voit mieux le mur...