[chaine de caractere] remplacement d'une chaine entre deux caractere d'une autre
andejen
Messages postés148Date d'inscriptionjeudi 9 juin 2005StatutMembreDernière intervention30 juillet 2008
-
9 avril 2006 à 13:12
andejen
Messages postés148Date d'inscriptionjeudi 9 juin 2005StatutMembreDernière intervention30 juillet 2008
-
10 avril 2006 à 12:48
voila, je cherche à remplacer une partie d'une chaine de caractère qui est comprise entre deux autres
Par exemple:
nkjzefvkgr, bhfir, frejf
je chercherai ici a remplacer la chaine 'bhfr' qui se situe entre les deux virgules.
Quelqu'un aurait il une solution ou un ebauche d'idee?
andejen
Messages postés148Date d'inscriptionjeudi 9 juin 2005StatutMembreDernière intervention30 juillet 2008 9 avril 2006 à 13:38
oui pardon le langage est VB6 mais en fait mon probleme vient du fait que je ne connais pas la chaine situé entre les deux virgules.
Je ne connais que les bornes de la chaine a remplacer, je ne peux donc pas utiliser la fonction replace
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201827 9 avril 2006 à 15:50
Re,
Je me suis laché !!!
Option Explicit
Call Form_Load()
Private Sub Form_Load()
'""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
' Occurence recherchée
'""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Const sChaine = "nkjzefvkgr, bhfir, dddddddfrejf"
Const Separateur = ","
'
'""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
' Recherche de chaine de caractères à partir d'une occurence
'""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Dim iPos , iPos1, NewChaine
iPos = InStr(1, sChaine, Separateur)
If iPos = 0 Then
Else
MsgBox "Chaine de caractères passée en variable: "&vbCrLf&vbCrLf& sChaine &vbCrLf&vbCrLf&vbCrLf&_
"Résultat pour la 1ère "","":" &vbCrLf&"A gauche: " & Left(sChaine, iPos - 1) &vbCrLf&_
"A droite : " & Right(sChaine, Len(sChaine) - iPos),_
vbInformation,"Recherche de l''expression contenue à droite et à gauche du caractère "","" "
NewChaine = Right(sChaine, Len(sChaine) - iPos)
' MsgBox "NewChaine: " & NewChaine
End If
iPos1 = InStr(1, NewChaine, Separateur)
If iPos1 = 0 Then
Else
MsgBox "Chaine de caractères passée en variable: "&vbCrLf&vbCrLf& sChaine &vbCrLf&vbCrLf&vbCrLf&_
"Résultat pour la 1ère "","":" &vbCrLf&"A gauche : " & Left(sChaine, iPos - 1) &vbCrLf&_
"A droite : " & Right(sChaine, Len(sChaine) - iPos) &vbCrLf&vbCrLf&_
"Résultat pour la 2ème "","":" &vbCrLf&"A gauche : " & Left(sChaine, iPos - 1) &vbCrLf&_
"Au centre : " & Left(NewChaine, iPos1 - 1) &vbCrLf&_
"A droite : " & Right(NewChaine, Len(NewChaine) - iPos1),_
vbInformation,"Recherche de l''expression contenue à gauche, au centre et à droite du caractère "","" "
End If
End Sub
moi perso si il faut remplacé ce qui se situe entre 2 virgules, et que tu n'a que 2 virgules dans ta phrase, tu dis de remplacer ce qui se trouve après la 1ere et de s'arreter avant la 2eme...non ?!
Position ("bateau", "t", 0 (à partir du 0eme caractère)) = 3 (à la 3eme position)
après tu cherche la position de ta 2eme virgule et tu lui dis remplace/modifie/ajoute txt entre position1 et position2
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201827 9 avril 2006 à 21:22
Bonsoir,
608437 blinix123 La question n'est pas de remplacer les caractères qui se situent entre 2 virgules, mais de les identifier.
Les posts de "=724427 mcs2006 " et de moi-même ont répondu à la question.
Andejen n'aura plus qu'à valider demain.
andejen
Messages postés148Date d'inscriptionjeudi 9 juin 2005StatutMembreDernière intervention30 juillet 2008 10 avril 2006 à 12:48
ayant déja fait un pré-tri des chaines qui comportaient 2 virgules, je vais me servir du deuxieme algo proposé qui marche nickel dans mon cas.
Merci encore a vous.