StringSplit & Slash

  • Hallo,
    ich hab ein ganz kleines Problem mit StringSplit.
    Ich würde den String gerne an allen "/e/" splitten.
    Das Problem ist aber, dass es auch bei allen "e" geteilt wird... Und leider auch irgendwie 'doppelt' oder 'dreifach'... Keine Ahnung.
    Was muss ich machen, damit es richtig funktioniert? :D
    Ist doch eigentlich etwas ganz banales...

    [autoit]

    #Include <Array.au3>

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

    $sInput = InputBox ("", "", "Das/e/ist ein/e/Test.")
    $aSplit = StringSplit ($sInput, "/e/")
    _ArrayDisplay ($aSplit)

    [/autoit]

    Folgendes bekomme ich da raus:

    [autoit]

    $aSplit[0] = 9
    $aSplit[1] = "Das"
    $aSplit[2] = ""
    $aSplit[3] = ""
    $aSplit[4] = "ist"
    $aSplit[5] = "in"
    $aSplit[6] = ""
    $aSplit[7] = ""
    $aSplit[8] = "T"
    $aSplit[9] = "st."

    [/autoit]


    Hoffentlich kann mir hier jemand schnell weiterhelfen. :D

    MfG

    Einmal editiert, zuletzt von $var (17. September 2011 um 16:37)

  • Hallo $var.

    du musst auch das optionale flag von Stringsplit benutzen:

    Zitat

    flag: [optional] ändert wie das Teilen des Strings funktionieren soll. Es können mehrere Flags zusammen verwendet werden:
    flag = 0 (Standard), es fungiert jedes in den Trennzeichen enthaltene Zeichen als Trennmarkierung
    flag = 1, es wird der gesamte Trennzeichenstring als Trennmarkierung genutzt
    flag = 2, deaktiviert die Rückgabe der Anzahl im ersten Element. Dadurch wird das Array 0-basierend. Man muss nun mit UBound() die Größe des Arrays feststellen

    Quelle: dt. Hilfe

    also so klappt es:

    [autoit]

    #Include <Array.au3>

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

    $sInput = InputBox ("", "", "Das/e/ist ein/e/Test.")
    $aSplit = StringSplit ($sInput, "/e/",1)
    _ArrayDisplay ($aSplit)

    [/autoit]

    mfg autoBert