ich dreh mich schon seit Stunden im Kreis und hoffe, ihr könnt mir helfen...
Aus diversen log-files (txt-Dateien) muss ich bestimmte Werte pro Zeile auslesen. Die Felder dieser txt-Datei sind Komma-separiert. Das Problem ist, dass numerische Werte soweit sie Komma-Stellen haben, ebenfalls mit Komma dargestellt werden - dann allerdings mit Anführungszeichen.
Beispiel:
,1,blabla,12 secs,1 sec,"1,123 secs",,
,2,blabla,"12,345 secs",23 secs,"4,567 secs",blabla,
,3,blabla,1 sec,"45,123 secs","12,345 secs", 1 sec,"12,001 secs"
Ziel ist es, aus den Text-Dateien pro Zeile ein Array zu erzeugen mit den Werten (entsprechend obigen Bsp):
1 blabla 12 1 1.123
2 blabla 12.345 23 4.657 blabla
3 blabla 1 45.123 12.345 1 12.001
und diese Arrays in eine neue txt-Datei zu schreiben.mein bisheriger Ansatz lautet:
Sub SplitLog()
Dim strSrcFile As String, strDstFile As String, strLine As String
Dim intFile as Integer, intLine As Integer, intCnt As Integer
Dim arrLine()
strSrcFile = "D:\Quelle.txt"
strDstFile = "D:\Ziel.txt"
intFile = FreeFile
Open strSrcFile For Input As #intFile
Do Until EOF(intFile)
Line input #intFile, strLine
' hier fehlt mir der entscheidende Schritt, wie die Zeilen
' so gesplittet werden können, dass Dezimalzahlen zusammen bleiben
Redim Preserve arrLine(intLine)
arrLine(intLine) = strLine
intLine = intLine + 1
Loop
Close #intFile
Open strDstFile For Append As #intFile
For intCnt = 0 To UBound(arrLine)
Print #intFile, arrLine(intCnt)
Next
Close #intFile
Ich wäre euch sehr dankbar für eine Lösung, wie die Zeilen der Quell-Datei so gesplittet werden können, dass Werte wie "12,123" nicht am Dezimal-Trennzeichen getrennt werden. Gleichzeitig müsste auch noch "sec" bzw. "secs" abgeschnitten werden.Vielen Dank für eure Hilfe
Gruß
Christian