StringRegExpReplace Frage

  • Hallo zusammen,

    Im folgenden Script wird eine Excel Datei geöffnet wo in Reihe 1 Spalte 6 ein Wert eingelesen wird um diesen später zu verändern.

    Wenn ich das Script laufen lasse geht er wie folgt vor.

    Vorher: 01234|56789 --> Nachher: /0/1/2/3/4/5/6/7/8/9/

    Ersetze ich den "|" durch ein "-" funktioniert das Script.

    Hat einer ne Idee warum das so ist?


    Gruß

    Norman

    [autoit]

    #include<Excel.au3>
    global $cellread, $pfad, $_excel, $replace
    $pfad = FileOpenDialog("Open", @WindowsDir, "Excel(*.xls)")
    $_excel = _ExcelBookOpen($pfad)
    Sleep(1000)
    For $i = 1 To 10
    $cellread = _ExcelReadCell($_excel, $i , 6)
    Sleep(1000)
    $replace = StringRegExpReplace($cellread,"|","/")
    _ExcelWriteCell($_excel, $replace, $i, 6)
    Next

    [/autoit]

    Einmal editiert, zuletzt von Norman Bates (2. August 2011 um 20:19)

  • Verwende StringReplace. "|" ist in StringRegExp ein spezielles Zeichen und müsste mit vorangehendem Backslash "\" verwendet werden, damit es als normales Zeichen erkannt wird. Hättest du statt dem "|" zum Beispiel einen Punkt "." verwendet, welcher bei einem regulären Ausdruck jedes Zeichen findet, wären alle Zeichen durch Slashes "/" ersetzt worden. Für deine Zwecke sollte StringReplace allemal ausreichen ;).