Datensätze an den Leerzeilen splitten (StrSplit()); anschließend das "Enten-Array-item" befrickeln.
Ist mir zu hoch, versteh ich nicht.
RegExReplace() sollte allerdings auch/einfacher gehen
Ein verwertbarer Hoffnungschimmer, siehe unten.
"Riechen" heißt hier "Mustererkennung"
"Mustererkennung" riecht nicht, für mich.
Und wieso Mustererkennung? Dafür fehlt es mir an Basiswissen.
und die Leerzeilen sind schon ziemlich offensichtliche Separatoren
Leerzeile = Nichts (oftmals gefolgt von einem EOL-character).
Leerzeilen? Die gesuchte Problemlösung heißt "Text mit Zeilenumbruch".
Was hat das mit Leerzeilen zu tun? Aber vermutlich fehlt es mir auch hierbei um Basiswissen.
Scheinchen
schwimmen auf dem See
Das war nur zur erbaulichen Erheiterung of the audience gedacht.
Der "Befehl" Replace
Nachdem ich längere Zeit mit der erfolglosen Suche nach dem Befehl "Replace" in Dokus und Web zugebracht hatte, dämmerte mir in der zufällig gefundenen Abteilung "Funktionen" und mit dem Vergleich des Bobo-Beispiels, daß es sich hierbei um eine PKM handeln könnte.
Für diejenigen, die eine PKM nicht kennen: Persönlich Kreierte Maßnahme.
(Auch ich kann einfach so Dinge aus der Luft zaubern...)
Will heißen: Nicht mal bei "Funktionen" wird solches zweifelsfrei erklärt.
Man muß auch da noch einiges dazu-riechen.
Leider ist mein Geruchssinn nur durchschnittlich ausgprägt.
Gerne auch unterdurchschnittlich, wenn´s denn hilft.
BoBo-Skript: Der haystack und die Entchen
Obwohl darin mein Problem als gelöst demonstriert wird, kann ich damit nichts anfangen.
Ist mir viel zu hoch, verstehe trotz der Zeile-für-Zeile-Kommentare nur Bahnhof.
Aber unterhaltsam ist diese successive MsgBox-Performance allemal. Sehr fein, vielen Dank.
BoBo-Skript, die Zweite
Noch mehr MsgBoxen, emptys, Leerzeilen und Zeilenumbrüche.
Meine Verwirrung könnte nicht größer sein...
Zurück zum Thema
RegExReplace als Alternative, vielen Dank für den Tip!
Meine Versuche dazu:
Code: Select all
FileRead, Enten, c:\Test\Entensong.txt
if not ErrorLevel
{
Enten := RegExReplace(Enten, "m)^Alle meine Entchen schwimmen auf dem See$", "m)^Alle meine Entchen`r`n schwimmen in dem Fluß$") ; funktioniert nicht
; Enten := RegExReplace(Enten, "Schiffchen", "Boote") ; vereinfachte Form, ohne Umbruch: funktioniert
FileDelete, c:\Test\EntensongNEU.txt
FileAppend, %Enten%, c:\Test\EntensongNEU.txt
Enten := ""
run notepad.exe c:\Test\EntensongNEU.txt
}
Habe mit mehreren Varianten mit diesen Schaltern experimentiert, kein Erfolg.
Nirgends ist für mich ein ähnliches Beispiel zu finden, wie diese Schalter --- m) ^ $ --- in diesem Fall zu handhaben sind.
Kann mir bitte jemand die Ersetzen-Zeile
innerhalb meines Skriptkontextes so formulieren, wie sie funktioniert?
Danke!