Bonjour,

Je dois travailler sur des fichiers texte issus de vieilles applis DOS où toutes les voyelles avec accents sont remplacés par des caractères de "substitution". Après lecture de ces fichiers par un streamreader, les lignes qui les constituent sont classée dans des string sur lesquelles mon appli travaille.

Lorsque je regarde avec un espion ces string, tous les caractères avec accent sont remplacés par �.

Quand je travaille sur les mots contenus dans ces string, les caractères � s'ils sont dans un mot (du type "gère" qui est traduit en "gŠre" dans le fichier texte et affiché "g�re" par l'espion) ne posent pas de problème.

Par contre quand je travaille sur un caractère isolé � (du type "à" qui est traduit en "…" dans le fichier texte et affiché "�" par l'espion), le code suivant ne marche pas.
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
   Private Function SeparerTexte(ByVal Texte As String) As ArrayList
 
        ' Sépare le texte en un Arraylist d'éléments simples à comparer
 
        Dim Tableau As New ArrayList
 
        While Texte.Length > 0
            ' Décomposition du texte, le caractère " " sert de séparateur (on cherche aussi à élimiber "§" qui sert d'indicateur de retour à la ligne)
            While Texte.StartsWith(" ")
                Tableau.Add(" ")
                Texte = Texte.Substring(1)
            End While
            If Texte.Length > 0 Then
                Tableau.Add("")
                While Texte.Length > 0 AndAlso Not Texte.StartsWith(" ")
                    If Texte.StartsWith("§") Then
                        Tableau.Add("")
                    Else
                        Tableau(Tableau.Count - 1) &= Texte.Substring(0, 1)
                    End If
                    Texte = Texte.Substring(1)
                End While
            End If
        End While
 
        Return Tableau
 
    End Function
(Le but de ce code est de créer un arraylist avec les mots/caractères uniques séparés par des espaces en conservant les espaces comme éléments de Tableau).

Est-ce que quelqu'un à déjà eu ce genre de problème?