Bonjour à tous !
Je fais un code qui est suposé traiter une chaîne de caractère et la purifier. Ça marche bien sauf que j'ai une erreur à la con et j'arrive pas à trouver pourquoi... Quand je remplace les caractère indésirés par un espace (" ") ça marche mais quand je remplace par un caractère vide("") ma fonction me retourne rien / du vide... voici le code.
Merci d'avance
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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 Public Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim texteAPurifier As String = "=?iso-8859-1?Q?Biblioth=E8que_-_Poste__-_Fermeture_non_plani?= =?iso-8859-1?Q?fi=E9e?= " Dim retour As String retour = clearcode(texteAPurifier) MsgBox(retour) End Sub Public Structure Code Dim code As String Dim valeur As String End Structure Public Function clearcode(ByVal texteAPurifier As String) Dim tableau As Array Dim encode(2) As Code encode(0).code = "E9" encode(1).code = "C0" encode(0).valeur = "é" encode(1).valeur = "À" tableau = texteAPurifier.ToString.ToArray Dim longueur = texteAPurifier.ToString.Length For i = 0 To longueur - 4 If tableau(i) = "=" And tableau(i + 1) = "?" And tableau(i + 2) = "i" And tableau(i + 3) = "s" Then tableau(1 - 1) = " " tableau(i) = " " tableau(i + 1) = " " tableau(i + 2) = " " tableau(i + 3) = " " End If For j = 0 To 2 If tableau(i + 1) + tableau(i + 2) = encode(j).code Then tableau(i) = " " tableau(i + 1) = " " tableau(i + 2) = encode(j).valeur End If Next j If tableau(i) = "?" And tableau(i + 1) = "=" Then tableau(i) = " " tableau(i + 1) = " " End If Next i Return tableau End Function
Partager