Suchen & Ersetzen

  • Nabend,

    Ich häng gerade an einem Script das aus einer txt Datei buy_price="?" suchen soll und diese mit
    buy_price="5000" ersetzen soll.
    Wobei ? für eine x beliebige Zahl stehen kann, und da ist auch schon mein Problem :D
    Wie bewerkstellige ich das?

    Einmal editiert, zuletzt von Silverlight (27. Januar 2010 um 18:50)

  • zwar nicht ganz elegant, sollte aber funktionieren:


    [autoit]


    #include<string.au3>
    $string='blabldsfklbuy_price="1000"addawrre' ; bzw $string=fileread("deinfile.txt")
    $between=_StringBetween($string,'buy_price="','"')
    $string=StringReplace($string,'buy_price="'&$between[0]&'"','buy_price="5000"')

    [/autoit]
  • Oder

    [autoit]

    $string='blabldsfklbuy_price="1000"addawrre' ; bzw $string=fileread("deinfile.txt")
    $string=StringRegExpReplace($string,'buy_price=".*?"','buy_price="5000"')

    [/autoit]
  • Danke euch :)

    Allerdings was meint ihr mit
    blabldsfklbuy_price="1000"addawrre !?

    Btw die string.au3 brauch man auch dabei?

    Weil imoment geht es bei mir nicht :D

  • Danke euch :)

    Allerdings was meint ihr mit
    blabldsfklbuy_price="1000"addawrre !?

    Btw die string.au3 brauch man auch dabei?

    Weil imoment geht es bei mir nicht :D

    das war eigentlich nur als Beispiel gedacht, weil wir ja den orginalen String nicht haben.
    Deswegen hat Progandy einfach noch "Störzeichen" reingebaut.


    Wenn es allerdings nicht klappt, solltest du eventuell mal einen Beispielstring präsentieren.

    EDIT: So würd ich das machen:

    [autoit]

    $sString = 'blabldsfklbuy_price="1000"addawrre'
    MsgBox(0,"",StringRegExpReplace($sString,'(?<=buy\_price\=")\d+',500))

    [/autoit]
  • Gut ich versteh imoment gar nix :D

    Hab es imoment so

    Code
    #include<string.au3> 
    $string=FileRead("item.txt")
    StringRegExpReplace($string,'buy_price=".*?"','buy_price="5000"')

    Was meint ihr mit Originalem String?

  • Gut ich versteh imoment gar nix :D

    Hab es imoment so

    Code
    #include<string.au3> 
    $string=FileRead("item.txt")
    StringRegExpReplace($string,'buy_price=".*?"','buy_price="5000"')

    Was meint ihr mit Originalem String?


    Originaler String = Inhalt der Datei, die du Mit FileRead ausließt.
    Den veränderten String in $string musst du auch wieder speichern, wenn du das willst.

    [autoit]

    $hDatei = FileOpen("item_geändert.txt", 2)
    FileWrite($hDatei, $string)
    FileClose($hDatei)

    [/autoit]

    PS: der Teststring ist von Scripter192, nicht von mir :D

  • Ok Danke Leute ihr seid die beste :)
    Hat geklappt *sich freu nicht 10000 Zeilen umzuändern* :thumbup: