/*
Installiere AutoHotkey
Speichere das Skript unter ReplaceRegEx.ahk im Verzeichnis mit den ADB-Dateien. Sie müssen die Endung .txt haben (kann aber angepasst werden)
Füre das Skript aus (Doppelklick), trage ein, was gesucht und durch was ersetzt werden soll. Achtung!! Alle .txt-Dateien im Verzeichnis, wo das Skript liegt, werden bearbeitet und ersetzt! Deshalb mache zuerst ein Backup im anderen Verzeichnis
Beispiele sind unten in dieser Datei.
*/
IniRead, findText, optionen.ini, Global, findText, %A_Space%
IniRead, replaceText, optionen.ini, Global, replaceText, %A_Space%
Gui, Add, Text,, Suchen nach (RegEx):
Gui, Add, Text,, Ersetzen durch:
Gui, Add, Edit, vFind ym w200, %findText%
Gui, Add, Edit, vReplace w200, %replaceText%
Gui, Add, Button, default, OK ; The label ButtonOK (if it exists) will be run when the button is pressed.
Gui, Add, Button, , Cancel
Gui, Show,, Ersetzen...
return ;
ButtonOK:
Gui, Submit ; Save the input from the user to each control's associated variable.
IniWrite, % find, optionen.ini, Global, findText
IniWrite, % replace, optionen.ini, Global, replaceText
;Gui-Form verwandelt Spezialzeichen in lesbare Zeichen. Hier werden sie zurück verwandelt:
StringReplace, replace, replace, ``r, `r, All
StringReplace, replace, replace, ``n, `n, All
StringReplace, replace, replace, ``t, `t, All
StringReplace, replace, replace, \r, `r, All
StringReplace, replace, replace, \n, `n, All
StringReplace, replace, replace, \t, `t, All
Loop, %A_ScriptDir%\*.txt
{
FileRead, content, %A_LoopFileFullPath%
content:=RegExReplace(content, find, replace, countPart)
if ErrorLevel
{
MsgBox, Ein Fehler ist aufgetreten. Fehlermeldung: %ErrorLevel% `n Das Programm wird beendet
ExitApp
}
count+=countPart
if (countPart>0)
{
FileDelete, %A_LoopFileFullPath%
FileAppend, %content%, %A_LoopFileFullPath%
}
}
MsgBox, %count% Treffer wurden ersetzt
ExitApp
return
ButtonCancel:
ExitApp
return
/*
Beispiele:
Zeile nach }} entfernen:
"}}\r\n.*?\r\n" durch "}}\r\n"
Leerzeichen am Zeilenanfang entfernen:
"m)^ +" durch "" ;
Trennzeichen und Leerzeichen am Zeilenende entfernen:
"([a-zäöüß])[- ] ?\r\n([a-zäöüß])" durch "$1$2"
Sonstige einmalige Leerzeilen durch Leerzeichen ersetzen: (lieber am Ende der ganzen Arbeit)
"([^\n}])\r\n([^\r])" durch "$1 $2"
Formatirung der Namen:
"m)^(([A-ZÄÖÜ])\S+:) ([A-ZÄÖÜ].*?) (\2\.,)" durch "\r\n'''$1''' ''$3'' $4"
*/