REPLACE(STRING,,....) PROBLÈME AVEC DES CHAINES DE PLUS DE 1200 CARACT&#200

Signaler
Messages postés
1
Date d'inscription
vendredi 4 octobre 2002
Statut
Membre
Dernière intervention
4 octobre 2002
-
Messages postés
365
Date d'inscription
vendredi 24 mai 2002
Statut
Membre
Dernière intervention
18 octobre 2004
-
Bonjour,
Je ne comprends pas très bien, en utilisant :

strData = Replace(strData, "toto", "tata", , , vbTextCompare)



J'ai bien un changement de "toto" en "tata" mais seulement sur les 1200 premiers caractères, en tout cas un plus de 1024 et moins de 1300 (ie. pas 1024 juste, contrairement à ce à quoi on aurait pu s'attendre).

Quelqu'un pourrait me proposer un sustitut de Replace (ceux déjà posté, de la même façon s'arrêtent à 1200 caractères...)

(pour info : strData est une réponse HTTP, je ne suis pas sur que ça change grand chose...)

1 réponse

Messages postés
365
Date d'inscription
vendredi 24 mai 2002
Statut
Membre
Dernière intervention
18 octobre 2004

Voilà, je pense que ceci pourras t'aider:

rq : aucune distinction minuscules/majuscules
(moi, je l'utilise avec VB3, ça marche !)

Function replace$ (txt$, ch$, rep$)
'Soit tx la chaîne à examiner,
'ch la chaîne à remplacer,
'rep la chaîne de remplacement

'La fonction ne fait pas de distinction de casse

Dim lch%, ltx%, start%, tx$, tx2$, ch2$

tx2 = txt
tx = UCase(tx2)
ch2 = UCase(ch)

lch = Len(ch)
ltx = Len(tx)
start = InStr(1, tx, ch2)

Do While start
tx2 = Left$(tx2, Len(tx2) - ltx + start - 1) & rep & Right$(tx2, ltx - start - lch + 1)
start = InStr(start + lch, tx, ch2)
Loop

replace = tx2

End Function

@+ et bonne prog

"Tout est relatif." A. Einstein repris par Mehdi
0