String teilen!

  • Da ich nie so gut war im zerlegen von Strings frag ich euch! :)
    ich möchte ein Wort wie bei folgenden Beispielen dargestellt ist in 3 Teile trennen:
    move_0_0.png
    move_1_1.png
    jump_0.png
    fly_10.png

    Man sieht also das die hinterste Zahl (egal ob 2stellig, oder 1stellig) von dem Dateinamen getrennt wird!
    Ich weiß also nicht wie ich die hintere Zahl trenne!

    Einmal editiert, zuletzt von Faweyr (13. August 2010 um 23:27)

  • Dies ist meine (leicht verspätete) Lösung:

    [autoit]

    #include <array.au3>

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

    $a="fly_10.png"
    $d=StringRegExp($a,"(.+_)(\d+)(\.[a-z]{1,3})",3)
    _ArrayDisplay($d)

    [/autoit]

    /Edit: Scheit nicht 100% richtig zu sein, da die 0 "vergessen" wird...
    //Edit2 : Nun scheints zu klappen

    Wer immer nur das tut, was er bereits kann - wird auch immer nur das bleiben, was er bereits ist!

  • es geht auch aufwendiger :rock:

    [autoit]

    $string = "move_0_0.png"
    $endung = StringRight($string, 4)
    $rest = StringReplace($string, $endung, "")
    $zahl = ""
    for $i = 1 to StringLen($rest)
    if StringIsDigit(StringMid($rest, $i, 1)) then $zahl &= StringMid($rest, $i, 1)
    next
    if $zahl = "" then $zahl = "Keine Zahl gefunden"
    msgbox(0, "zahl", $zahl)

    [/autoit]
  • Vielen Dank für eure schnelle Hilfe, mit RegEx, hab ichs nich so :D
    Das von XovoxKingdom erfüllt den Zweck super :thumbup: Gut Gemacht.
    Ich bedanke mich auch bei den anderen Helfern :)