Remplacement d'une chaine de caractére par un entier
cs_maya77
Messages postés36Date d'inscriptionvendredi 13 novembre 2009StatutMembreDernière intervention18 juin 2011
-
18 juin 2011 à 14:40
Utilisateur anonyme -
19 juin 2011 à 22:55
Je voudrai remplacer chaque occurrence du premier fichier par la position de cette même occurrence dans le deuxième fichier,
par exemple un 0 à la place de ABBREV
Voici mon code mais il ne me remplace que les ABBREV donc la première possibilité
Dim tags As String = sr3.ReadToEnd
Dim tabTag() As String = tags.Split(vbCrLf)
Dim vecteur As String = sr4.ReadToEnd
vecteur = vecteur.Replace(vbCrLf, Chr(32))
Dim TabVect() As String = vecteur.Split(" ")
For j As Integer = 0 To UBound(tabTag)
For k As Integer = 0 To UBound(TabVect)
' If TabVect(k) <> "+1" And TabVect (k) <> "-1" Then
If TabVect (k) = tabTag (j) Then
TabVect(k) = CStr (j)
End If
'End If
Next k
Next j
merci pour votre aide
A voir également:
Remplacement d'une chaine de caractére par un entier
Bonsoir,
La classe Array possède une méthode très pratique (ForEach) pour énumérer chacun de ses membres en effectuant une action.
Tu peux remplacer tes 2 boucles For Next par cette ligne :
Array.ForEach(tabTag, AddressOf Remplace)
Ton array tabVect sera ainsi modifiée.
Comme tu peux voir, on fait appel à une sub dans laquelle on modifiera les données :
Private Sub Remplace(ByVal element As String)
For x = 0 To tabVect.Length - 1
If tabVect(x) = element Then
tabVect(x) = Array.IndexOf(tabTag, element).ToString
End If
Next
End Sub
Dim tabTag() As String = sr3.ReadToEnd.Split(New String() {Environment.NewLine}, StringSplitOptions.None)
Dim tabVect() As String = sr4.ReadToEnd.Replace(Environment.NewLine, " ").Split(" "c)
sr3.Close()
sr4.Close()
For j As Integer = 0 To UBound(tabTag)
For k As Integer = 0 To UBound(tabVect)
' If TabVect(k) <> "+1" And TabVect (k) <> "-1" Then
If tabVect(k) = tabTag(j) Then
tabVect(k) = CStr(j)
End If
'End If
Next k
Next j