Wie gesagt "fast hacked untested" ...
mein code setzt aber voraus als unbedingtes "muss", dass der logstring immer gleich ist, andernfalls musst du ihn anpassen. es sind auch keine fehlerabfragen drin.
die ausgabe des codes steht am ende im kommentar ...
Public Sub SplitLog()
Dim Logstring As String = "[2008-07-10 12:15:44] Account 106800" & _
"[HIROE], IP 87.182.199.242, Player Thuzad :: used add item command," & _
"item id 5175 [Earth Totem] to Thuzad"
' Trennt alles in vor und nach dem ::
Dim LogParts() = Split(Logstring, " :: ")
' nun erst den vorderen teil parsen
Dim LogFirstParts() As String = LogParts(0).Split(",")
' stell damit an was du willst
LogFirstParts(0) = LogFirstParts(0) ' do what you want
LogFirstParts(1) = "<ip zensiert>" ' IP Daten weg
LogFirstParts(2) = Replace(LogFirstParts(2), "Player", "Spieler")
LogFirstParts(2) = Replace(LogFirstParts(2), "taught", "lernte")
LogFirstParts(2) = Replace(LogFirstParts(2), "Account", "")
LogFirstParts(2) = Replace(LogFirstParts(2), "used add item command", _
"Addete ein Item")
' "schick" machen
LogFirstParts(0) = LogFirstParts(0).Trim(" ", vbCr, vbCrLf, vbLf)
LogFirstParts(1) = LogFirstParts(1).Trim(" ", vbCr, vbCrLf, vbLf)
LogFirstParts(2) = LogFirstParts(2).Trim(" ", vbCr, vbCrLf, vbLf)
' so, jetzt den rechten teil
Dim LogRightParts() As String = Split(LogParts(1), " ")
Dim Used_Link As String = ""
' prüfen ob "used" vorhanden, nur dann den link erstellen
If LogRightParts(0).Trim(" ", vbCr, vbCrLf, vbLf) = "used" Then
' durchsuchen nach "id", der folgende wert ist (sollte) die
' unbekannte ziffernfolge (sein)
For i As Integer = 0 To LogRightParts.Count - 1
If LogRightParts(i) = "id" Then
Used_Link = "http://.../" & LogRightParts(i + 1).Trim(" ", _
vbCr, vbCrLf, vbLf)
End If
Next i
End If
Debug.Print(LogFirstParts(0) & " " & LogFirstParts(1) & " " & _
LogFirstParts(2))
' Ausgabe
' [2008-07-10 12:15:44] Account 106800 [HIROE] <ip zensiert> Spieler
' Thuzad
Debug.Print(Used_Link)
' Ausgabe
' http://.../5175
End Sub ob schöner code oder nicht, ob mans schneller und besser machen kann oder nicht, keine ahnung, aber er funzt und das ist wichtig
grüße
fly |