Dim Str As String = "1-Italie |A | 5 02,04 | 19 04,88 | LIV " Dim strarr() As String strarr = Str.Split(CChar("|")) 'séparateur For Each s As String In strarr MsgBox(s) Next
Dim Str As String = "1-Italie |A | 5 02,04 | 19 04,88 | LIV " Dim strarr() As String strarr = Str.Split(CChar("|")) TextBox1.Text = (strarr(0)) TextBox2.Text = (strarr(1)) TextBox3.Text = (strarr(4))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionVoyage : 11 Elyros 2015-01-02
ComPax ComVeh
1-Italie | A | 502,04 | 1904,88 | LIV
1-Italie | A | 53,04 | 1954,88 | LIV
3-France | A | 20,00 | 21,10 | EUR
4-Espagne | A | 753,30 | 937,60 | EUR
4-Espagne | A | 25,50 | 12,92 | EUR
4-Espagne | A | 232,80 | 235,30 | EUR
4-Espagne | A | 57,80 | 48,62 | EUR
4-Espagne | E | 70,80 | 40,62 | EUR
Class DonneeMohelli Public Sub New(ByVal Lettre As String, ByVal Pays As String, ByVal Prix1 As Double, ByVal Prix2 As Double, ByVal Devise As String) Me.Pays = Pays Me.Lettre = Lettre Me.Prix1 = Prix1 Me.Prix2 = Prix2 Me.Devise = Devise End Sub Public Sub New(ByVal M As Match) Pays = M.Groups("pays").Value Lettre = M.Groups("lettre").Value Dim prix1 As String = M.Groups("prix").Value Dim prix2 As String = M.Groups("prix2").Value Me.Prix1 = Convert.ToDouble(prix1) Me.Prix2 = Convert.ToDouble(prix2) Devise = M.Groups("devise").Value End Sub Public Property Pays() As String Public Property Lettre() As String Public Property Prix1() As Double Public Property Prix2() As Double Public Property Devise() As String End Class
Private Sub ParseCsMohellebi() Dim lignes() As String = File.ReadAllLines("testMohelli.txt") 'Lit le fichier d'un coup et charge chaque ligne dans un tableau de string Dim maRegex As New Regex("^\d-(?<pays>([A-Z]|[a-z])+) \| (?<lettre>([A-Z])) \| (?<prix>\d+,\d{2}) \| (?<prix2>\d+,\d{2}) \| (?<devise>([A-Z]){3}) $") Dim mesDonnees As New List(Of DonneeMohelli)() For Each l As String In lignes 'charge les lignes qui correspondent au modèle Dim m As Match = maRegex.Match(l) If m.Success Then mesDonnees.Add(New DonneeMohelli(m)) End If Next l Dim groupement = mesDonnees.GroupBy(Function(d) d.Pays) 'Groupe les données par Pays 'Somme chaque groupe dans une liste de résultats Dim sommes As List(Of DonneeMohelli) = ( From g In groupement Let prix1 = g.Sum(Function(d) d.Prix1) Let prix2 = g.Sum(Function(d) d.Prix2) Select New DonneeMohelli(g.ElementAt(0).Lettre, g.Key, prix1, prix2, g.ElementAt(0).Devise)).ToList() End Sub
Pays,Lettre,Prix1,Prix2,Devise
1-Italie,A,502.04,1904.88,LIV
1-Italie,A,53.04,1954.88,LIV
3-France,A,20.00,21.10,EUR
4-Espagne,A,753.30,937.60,EUR
4-Espagne,A,25.50,12.92,EUR
4-Espagne,A,232.80,235.30,EUR
4-Espagne,A,57.80,48.62,EUR
4-Espagne,E,70.80,40.62,EUR
30 nov. 2015 à 23:23
Merci pour votre repense , mais j'ai résolu le problème autrement .
C'est que j'ai pu sommer les variables à la sortie du fichier de lecture. autrement dit les variables sont prêtes à l’exploitation, après je me demande si ça ne serait pas plus intéressant de continuer à résoudre le problème!. dans ce cas là je pourrai afficher mon exemple.
1 déc. 2015 à 06:39
1 déc. 2015 à 14:36
le fichier en question, ce pressente approximativement sous cette forme.
Voyage : 11 Elyros 2015-01-02
ComPax ComVeh
1-Italie |A | 5 02,04 | 19 04,88 | LIV
1-Italie | A | 53 ,04 | 19 54,88 | LIV
3-France | A | 20,00 | 21,10 | EUR
4-Espagne | A | 753,30 | 937,60 | EUR
4-Espagne | A | 25,50 | 12,92 | EUR
4-Espagne | A | 232,80 | 235,30 | EUR
4-Espagne | A | 57,80 | 48,62 | EUR
4-Espagne | E | 70,80 | 40,62 | EUR
je précise que le nombre de ligne est aléatoire..
Mon souci , maintenant est comment sommer toute les lignes de chaque secteur, pour avoir au final
1-Italie A sum som LIV
3-France A sum sum EUR
4-Espagne A sum sum EUR
ci-dessous le programme qui affiche pour le moment que le détail
Et merci pour votre précieuse aide