Leerzeichen in bestimmten Bereich der Datei ersetzen?

  • Hallo Leute,

    ich habe eine Datei in der ich Level=" durch das Level="PRJ_ ersetzt habe.

    [autoit]

    $Layout_XML="T:\Dino"

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

    $File = $Layout_XML & "Definitions.xml"
    $sFile0 = FileRead($File)
    If Not @error Then
    $sFile0 = StringReplace($sFile0,"Level=""", "Level=""PRJ_")
    $hFile0 = FileOpen($File, 2)
    If $hFile0 <> -1 Then
    FileWrite($hFile0, $sFile0)
    FileClose($hFile0)
    EndIf
    EndIf

    [/autoit]

    Jetzt möchte ich nach dies Level=" suchen und dann bis zu nächstem Anführungszeichen " die Leerzeichen durch das Unterstrich _ ersetzen.
    Wie mache ich das bitte?

    Ausschnitt aus der Datei, die ersetzt werden soll:

    [autoit]


    <Roof3dProp1 Level="PRJ_3d Dächer" Levelnumber="0" Color="16"
    Linetype="0" Lineweight="0" Texture="Dach, hell [$2253]" />

    <Roof3dProp2 Level="PRJ_3d Hallendächer" Levelnumber="0" Color="32"
    Linetype="0" Lineweight="0" Texture="Dach, grau [$2254]" />

    <Roof3dProp3 Level="PRJ_3d Dächer" Levelnumber="0" Color="3"
    Linetype="0" Lineweight="0" Texture="Dach, rot [$2255]" />

    <RoofElement3dProp1 Level="PRJ_3d Dach-Elemente" Levelnumber="0"
    Color="9" Linetype="0" Lineweight="0" Transparency="50" Texture="" />

    <RoofElement3dProp2 Level="PRJ_3d Hallendach-Elemente"
    Levelnumber="0" Color="9" Linetype="0" Lineweight="0" Transparency="50"
    Texture="" />

    [/autoit]


    Vielen Dank vorab!

    Grüße Dino

    Einmal editiert, zuletzt von Dino (2. Juni 2014 um 09:36)

  • Es gibt so viele Funktionen mit denen du da was basteln kannst

    [autoit]


    _StringBetween()
    Stringreplace()
    Stringleft()
    Stringright()
    Stringtrimleft()
    Stringtrimright()
    Stringinstr()
    Stringregexpreplace()
    Stringsplit()

    [/autoit]

    Wenn man da ein paar davon kombiniert bekommt man eine lösung...

  • Weil ich heute Urlaub habe, hab ich heute meinen "Arm aus der Sonne leg"-Tag:

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    #include <String.au3>
    $file = FileOpen("datei.txt", 0)
    $inhalt = FileRead($file)
    FileClose($file)

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

    $funde = _StringBetween($inhalt, 'Level="PRJ_3d', '"')
    $funde = _ArrayUnique($funde)
    _ArrayDelete($funde, 0)

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

    For $i in $funde
    $ineu = StringReplace($i, " ", "_")
    $inhalt = StringReplace($inhalt, $i, $ineu)
    Next

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

    MsgBox(0, "", $inhalt)

    [/autoit]

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.