Hallo!
hab gerade mal was von meinem bescheidenen Testbestandsmaterial aus der Firma genommen:
Quelldatei 10000 Zeilen mit dem gleichen Wert 573122 werden durch XXXXXX ersetzt. (in jeder Zeile ist ein Treffer)
Hier als Version mit Stringabarbeitung:
Dauer (mitgeschnitten) 1 Sekunde
die Variante von gestern (in array lesen und im array ändern) läuft seit ca. 10 Minuten!!!!
wäre noch die Frage: ist StringInStr oder StringRegExp schneller??
Grüße
German
PS: hier mit Code, war ja ne Frage eines Kollegen und ich habs auch immer gehasst, wenn jedes Anfangsproblem von den -Superäggsbärden- "zu tote" diskutiert worden ist und für mich als Fragesteller blieb nichts übrig
PS1: hier steht schon ein PC mit anständig Dampf unter der Haube, falls einer die Messzeit ankreidet
Spoiler anzeigen
; Beispiel: Einlesen der Datei in ein Array
; Zeilenweises abarbeiten
; Austausch von gefundenem Text und Ausgabe als STring
#include <Date.au3>
#include <string.au3>
#include <array.au3>
#include <file.au3>
$testdatei=@workingdir & "\mq573"
$newfile=@workingdir & "\mq573a_a"
; Inhalt der text3.txt:
;Schlosser
;Schreiner
;Dreher
;Telefontechniker
$pfile=Fileopen($newfile,1)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Dim $myarray
If Not _FileReadToArray($testdatei,$myarray) Then
MsgBox(4096,"FEHELER", " Datei " & $textdatei & " nicht gefunden, oder leer")
Exit
EndIf
For $x = 1 to Ubound($myarray) -1 ; jetzt wird das array von Zeile 1 bis zur lezten Zeile eingelesen
$Zeile=$myArray[$x]
; msgbox(0,"ich hab jetzt die Zeile mit folgendem Inhalt:", $zeile)
$Ausgabe=_checkandreplace($zeile)
FileWrite($pfile, $Ausgabe & @CRLF)
Next
FileClose($pfile)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Func _checkandreplace($zeile)
[/autoit] [autoit][/autoit] [autoit]SELECT
case StringRegExp($zeile,'573122')
$neuezeile=StringReplace($zeile,"573122","XXXXXX")
Return $neuezeile
;_arraydelete($myarray,$x)
;_arrayInsert($myarray,$x,$neuezeile)
case else
Return $zeile
ENDSELECT
EndFunc
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]