StringSplit mit einem 2D-Array

  • Wie kann ich den Beisspielstring w1::on#1::text test#a1::3#f1::irgendetwas so teilen, dass ich z.B. bei $array[0][1] als Wert on bekomme?
    Mein Ansatz funktioniert leider nicht :(

    [autoit]

    $str = "w1::on#1::text test#a1::3#f1::irgendetwas"
    Dim $i, $j
    Dim $array[1][1]
    $string1 = StringSplit($str, "#", 1+2)

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

    For $i=0 To UBound($string1)-1
    $string2 = StringSplit($string1[$i], "::", 1+2)
    For $j=0 To UBound($string2)
    ReDim $array[$i+UBound($string1)][$j+UBound($string2)]
    $array[$i][$j]=$string2
    Next
    Next
    MsgBox(0,"OK",$array[1][1])

    [/autoit]


    Danke!

    Einmal editiert, zuletzt von petter2 (29. November 2010 um 20:37)

  • Hallo Petter,

    so:

    Spoiler anzeigen
    [autoit]

    #include <array.au3>
    $str = "w1::on#1::text test#a1::3#f1::irgendetwas"
    $aStr = StringSplit($str, "#")
    _ArrayDisplay($aStr)
    Dim $aErg[$aStr[0]][2]
    for $i = 1 to $aStr[0]
    $aItem = StringSplit($aStr[$i], "::",1+2)
    $aErg[$i-1][0]= $aItem[0]
    $aErg[$i-1][1]= $aItem[1]
    Next
    _ArrayDisplay($aErg)

    [/autoit]

    mfg autoBert

  • Wieso benutzt du nicht direkt $i = 0? Damit übst du auch gleich den gebrauch von Arrays.