Bonjour,
Je souhaiterais remplacer le doublon d'une chaine par des "E".
Par exemple :
222222 -> 2E2E2E...
111311 -> 1E131E...
222446 -> 2E24E6...
Comment faire?
Merci.
Bonjour,
Je souhaiterais remplacer le doublon d'une chaine par des "E".
Par exemple :
222222 -> 2E2E2E...
111311 -> 1E131E...
222446 -> 2E24E6...
Comment faire?
Merci.
Et bien tu lis ta chaîne caractère par caractère, et dans le même temps tu écris une deuxième chaîne.
Tu retiens à chaque fois le dernière caractère, et si c'est le même que le courant, tu remplaces...
L'avenir appartient à ceux... dont les ouvriers se lèvent tôt. (Coluche)
J'ai essayé ceci :
A la base : ma chaineDecimale vaut : "006980"... Le résultat voulu est : "0E6980"... Mais le résultat obtenu est EE698E... Mon programme remplace tout les 0 par des E ..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Dim chaineDecimale As String = chaine.Substring(chaine.Length - 6) Dim value2 As String = "" For j = 0 To chaineDecimale.Length - 1 If (j < chaineDecimale.Length - 1) Then If (chaineDecimale.Chars(j) = chaineDecimale.Chars(j + 1)) Then value2 = chaineDecimale.Replace(chaineDecimale.Chars(j + 1), "E") End If End If Next TextTag.Text = value2
Pourquoi ?!
Parce que quand tu fais Replace(0, "E"), Replace remplace tous les 0 par E, c'est ce que fait cette fonction.
Ce n'est donc pas la bonne méthode. (Tu aurais pu le voir au pas à pas, que dès le premier passage tous les 0 sont remplacés)
Je reste un peu sur mon idée de faire les chose au fur à mesure (en regardant la caractère -1) , et non en avance (j+1)
Ca donnerai plutôt :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Dim chaineDecimale As String = "006980" Dim NewChaineDecimal As String = "" Dim last_char As Char = Nothing Dim current_char As Char Dim replaced_char As Char = CChar("E") For j = 0 To chaineDecimale.Length - 1 current_char = chaineDecimale(j) If last_char = current_char Then NewChaineDecimal = NewChaineDecimal & replaced_char Else NewChaineDecimal = NewChaineDecimal & current_char End If last_char = current_char Next
L'avenir appartient à ceux... dont les ouvriers se lèvent tôt. (Coluche)
Merci beaucoup mactwist!
Pour le pas à pas, j'ai un problème avec ma form.. J'appuie plusieurs fois sur F8 jusqu'a ce que la form s'ouvre, et ça plante au chargement de la fenêtre, je n'ai pas pu tester en pas à pas.
Mais merci pour tout! Tu me sauves la vie!
Pour le pas à pas, mets un point d'arrêt vers là où le code t’intéresse et fait F5 pour s'y rendre directement.
A+
L'avenir appartient à ceux... dont les ouvriers se lèvent tôt. (Coluche)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager