String Formatieren

  • Hallo,

    ich habe eine Textdatei in ein Array gepackt um im Anschluss diesen Array zu durchsuchen.
    Mit hilfe von _StringBetween habe ich mir die Zeilen rausgesucht die ich brauche, nun jedoch möchte ich diese weiter formatieren, stoße da allerdings auf Probleme.

    Ich wollte das ganze mit StringRegExpReplace bearbeiten, aber ich bekomme das mit den Regulären Ausdrücken absolut nicht gebacken.


    Hier mal ein Beispieltext:

    5:01:50 "WRITE: "CD:201:25155521:[65,[65.72,8470.75,0.00134277]]:[]:[]:[]:false:false:1:1:46:0:["X2","amovpercmrunsraswrfldf",42]:0:0::0:" / 2781"

    Für mich sind die relevanten Daten: Die Uhrzeit "5:01:50"( habe ich mit StringMid rausgefiltert) "65.72,8470.75" und "2781"


    Das ganze wollte ich in diesem Format formatieren:
    ;5:01:50;;65.72,8470.75;;2781;

    Dann kann ich die Daten weiter verarbeiten.


    Da fällt mir ein dass die Zeilen leider nie gleichlang sind und auch die Zahlenlänge variirt und geht auch ins Minus.

    Einmal editiert, zuletzt von Cerva (11. August 2012 um 03:53)

  • [autoit]

    #include <Array.au3>
    $string = '5:01:50 "WRITE: "CD:201:25155521:[65,[65.72,8470.75,0.00134277]]:[]:[]:[]:false:false:1:1:46:0:["X2","amovpercmrunsraswrfldf",42]:0:0::0:" / 2781"'

    [/autoit][autoit][/autoit][autoit]

    $uhrzeit = StringSplit($string,' "',3)
    $final = ";" & $uhrzeit[0]

    [/autoit][autoit][/autoit][autoit]

    $zahlsplit = StringSplit($string,',',3)

    [/autoit][autoit][/autoit][autoit]

    $final = $final & ";;" & StringTrimLeft($zahlsplit[1],1) & "," & $zahlsplit[2]

    [/autoit][autoit][/autoit][autoit]

    $zahl2 = StringSplit($zahlsplit[5],'/ ',3)

    [/autoit][autoit][/autoit][autoit]

    $final = $final & ";;" & StringTrimRight($zahl2[1],1) & ";"

    [/autoit][autoit][/autoit][autoit]

    MsgBox(0,"",$final)

    [/autoit]

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.