Remplacer énième caractère d'une chaine.

Résolu
Vianneyp Messages postés 82 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 6 janvier 2010 - 21 sept. 2008 à 20:57
lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009 - 21 sept. 2008 à 22:52
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

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
21 sept. 2008 à 21:08
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
3
Vianneyp Messages postés 82 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 6 janvier 2010
21 sept. 2008 à 21:16
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.
0
lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009
21 sept. 2008 à 22:52
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... 
0
Rejoignez-nous