An bestimmte Textstelle etwas schreiben.

  • hey.

    Ich habe mit _Stringbetween etwas an einer Textstelle ausgelsen aber mit welchen befehl kann ich diese überschreiben?

    z.B.

    [autoit]

    $string = _StringBetween("smilies[';)'] = new Array('wcf\/images\/smilies\/wink.png', 'wink');","images\/","\/wink.png")

    [/autoit]

    Und jetzt möchte ich dises "smilies" überschreiben, aber wie?

    Danke im Voraus :)

    Einmal editiert, zuletzt von LikeUuu (6. Dezember 2012 um 17:03)

  • Mit StringReplace oder StringRegExpReplace.
    Oder du speicherst die Ergebnisse in verscheidene Variablen und verwendest StringTrimRight und StringTrimLeft.
    Dies ist allerdings aufwendiger.

  • Hallo LikeUuu,

    mit StringReplace so:

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    #include <String.au3>

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

    ;bur bei einmaligem Vorkommen
    $sText = "smilies[';)'] = new Array('wcf\/images\/smilies\/wink.png', 'wink');"
    $aFound = _StringBetween($sText, "images\/", "\/wink.png")
    _ArrayDisplay($aFound,"Fundstelle")
    if IsArray($aFound)Then $sText = StringReplace($sText, $aFound[0], "Neuer Ordner", -1) ;von rechts nach links 1*ersezen
    ConsoleWrite($sText & @CRLF)

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

    ;auch bei mehreren Vprkommen
    $sText = "smilies[';)'] = new Array('wcf\/images\/smilies\/wink.png', 'wink');"
    $sText &= "smilies[';)'] = new Array('wcf\/images\/smilies\/wink.png', 'wink');"

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

    $aFound = _StringBetween($sText, "images\/", "\/wink.png")
    _ArrayDisplay($aFound,"Fundstellen")
    For $i = 0 To UBound($aFound) - 1
    $sText = StringReplace($sText, $aFound[$i], "Neuer Ordner", -1) ;von rechts nach links 1*ersezen
    ConsoleWrite($i &".: " & $sText & @CRLF)
    Next

    [/autoit]

    mfg autoBert