StringBetween Problem

  • Hallo,

    folgendes Problem:
    In meiner Zwischenablage ist ein Text der sieht so aus:

    Zitat

    <option value="375">Dackel</option>
    <option value="800">Collie</option>
    <option value="900">Schäferhund</option>

    natürlich eine größere Liste...

    Meine Frage:
    Wie kann ich die Werte in meine Zwischenablage bekommen
    damit sie so aussehen?

    Dackel
    Collie
    Schäferhund


    Mein Code-Versuche:

    [autoit]


    #include <String.au3>

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

    $Speicher=ClipGet()

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

    $result =_StringBetween($Speicher,'<>','"') ; da komme ich nicht weiter....

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

    hm..das Ergebnis muß noch in die Zwischenablage

    Liebe Grüße
    Ilse ;)

    Einmal editiert, zuletzt von Ilse (17. Januar 2011 um 16:29)

  • Hier mal mein Vorschlag

    Spoiler anzeigen
    [autoit]


    #Include <String.au3>
    #Include <Array.au3>
    $string = ClipGet()
    $search = _StringBetween($string,">","<")
    _ArrayDisplay($search)

    [/autoit]


    Wie du siehst, musst du dann zwar jeden zweiten Array auslesen, aber das ist nicht so schlimm oder?

    Einmal editiert, zuletzt von N0THING (17. Januar 2011 um 16:26)

  • Oder gleich mit "_ArrayToClip" in die Zwischenablage:

    [autoit]


    #include <array.au3>
    #include <String.au3>
    $Speicher=ClipGet()
    $result =_StringBetween($Speicher,'">','</option>')
    _ArrayToClip($result)

    [/autoit]
  • hier noch eine lösung:

    [autoit]

    $t = clipget()
    $e = ""
    msgbox(0,"",$t)
    while StringInStr($t, """>") > 0
    $t = StringTrimLeft($t, StringInStr($t, """>"))
    $e &= StringMid($t, 2, StringInStr($t, "</")-2)&@CRLF
    $t = StringTrimLeft($t, StringInStr($t, "</")-2)
    wend
    msgbox(0,"",$e)

    [/autoit]