Bonjour,

je voudrais savoir comment utiliser la fonction Replace sur une tableau de caractères et non un string (ici la fonction native Replace ne fonctionne pas car sRemplacerQuoi et sRemplacerPar sont des tableaux à 1 dimension et non des string)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
Dim sIn as String
Dim sOut asString
 
Dim sRemplacerQuoi() As String = {"ä", "à", "â", "é", "è", "ê", "ë", "î", "ï", "ô", "œ", "ö", "ü", "ù", "û", "ÿ", "Ä", "À", "Â", "ñ", "É", "È", "Ê", "Ë", "Î", "Ï", "Ô", "Œ", "Ö", "Ü", "Ù", "Û", "ç", "Ç", "Ÿ", "æ", "Æ"}
 
        Dim sRemplacerPar() As String = {"a", "a", "a", "e", "e", "e", "e", "i", "i", "o", "o", "o", "u", "u", "u", "y", "A", "A", "A", "n", "E", "E", "E", "E", "I", "I", "O", "O", "O", "U", "U", "U", "c", "C", "Y", "a", "a"}
 
sOut = Replace(sOut, sRemplacerQuoi, sRemplacerPar)
comme exemple j'ai utilisé les caractères accentués car c'est plus parlant mais c'est uniquement pour l'exemple.

La fonction str_replace de php sachant le faire.

bien sûr on peut faire
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
 
Dim tailleSin As Integer
Dim i As Integer
 
tailleSin = Len(sIn)
 
        For i = 0 To (tailleSin - 1)
            car = sIn.Chars(i)
            Select Case car.ToString
                Case "Â", "Ä", "À"
                    car = Chr(Asc("A"))
                Case "Ç"
                    car = Chr(Asc("S"))
                Case "È", "É", "Ê", "Ë", "Œ"
                    car = Chr(Asc("E"))
                Case "Î", "Ï"
                    car = Chr(Asc("I"))
                Case "Ô", "Ö"
                    car = Chr(Asc("O"))
                Case "Ù", "Û", "Ü"
                    car = Chr(Asc("U"))
            End Select
            sOut = sOut + car
        Next i
 
 sIn = sOut
mais ce n'est pas ce que je cherche.

D'avance merci