PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ersetzungen



FFSSBZ
29.09.2013, 15:50
Bin hier gerade ein bisschen am verzweifeln, unsere ILS hat die Anordnung im Alarmfax geändert, dadurch musste ich auch diverse Anpassungen durchführen.

Folgendes Problem:

Die erstzungen.txt sieht folgendermaßen aus:
Ort;
Straße;
Haus-Nr.;

In dem Faxinput Plugin ist folgendes eingetragen:
EINSATZORT;Abschnitt;message

Situation 1 (hier funktioniert es):

EINSATZORT
Ort: Musterhausen
Straße: Maxmusterstraße Haus-Nr: 12
Abschnitt:

Situation 2 (hier funktioniert es nicht):

EINSATZORT
Ort Musterhausen
Straße Münchner Straße Haus-Nr. 99
Abschnitt

-----------------------------------------------------------------------------------------------

Die Erklärung des Problems, bei der Situation 2 ersetzt er zweimal Straße, weil er nicht weiss dass das zweite "Straße" zur wirklichen Straße gehört.

Nun meine Frage, kann ich mir irgendwie mir das Straße nur ersetzten lassen wenn davor ein Zeilenumbruch steht oder wenn es am Anfang einer Zeile steht?

... oder hat einer eine andere Idee?

Danke schonmal und Gruß,
FFSSSBZ

firEmergency
29.09.2013, 18:22
Ja, eigentlich schon. In Regex dient das ^ als Zeichen dafür, dass der Ausdruck am Zeilenanfang stehen muss. Also so:

^Straße;

Aber ich glaube das wird nicht funktionieren, weil FE den Eingang als "eine Zeile" betrachtet. Somit nutzt das ^ nichts.

Die : sind im zweiten Beispiel mit Absicht nicht dabei, oder? Weil dann wäre die Regel ja einfach:

Straße:;

Idee:
Ersetze das zweite Straße doch durch Str. Also so:

Straße ;Str.

Das Leerzeichen davor ist wichtig, denn dadurch unterscheiden sich ja die beiden "Straße"-Wörter. Beim zweiten ist ein Leerzeichen davor, beim ersten ja nicht.

Mehr fällt mir momentan nicht ein.

limberu
29.09.2013, 20:05
Aber ich glaube das wird nicht funktionieren, weil FE den Eingang als "eine Zeile" betrachtet. Somit nutzt das ^ nichts.

Macht es das? Vor allem beim Faxeingangsplugin? Kann es leider nicht testen, habe kein Fax hier...

FFSSBZ
29.09.2013, 20:10
Hi,

das der Doppelpunkt im 1. Beispiel da ist und im 2. nicht war keine Absicht, das Problem ist das es manchmal beim auswerten zu Problem kommt und er ihn dann verschluckt, deswegen hab ich ihn Absichtlich weggelassen.

Ich hab etwa eine dreiviertel Stunde drüber gegrübelt wie ich es denn anstellen kann, aber das mit dem leerzeichen davor hab ich übersehen.

Wenn ich es wie folgt mache, müsste es doch dann theoretisch funktionieren oder?
(erstes ist mit leerzeichen davor)

Straße; Strasse
Straße;

Damit sollte er ja dann erst das zweite Straße mit Strasse ersetzten und dann das erste Straße, was ich rauslöschen will rauslöschen. Da beim zweiten Befehl ja nurnoch einmal Strasse und einmal Straße im Text steht.

Richtig?

Gruß,
FFSSBZ

firEmergency
29.09.2013, 20:13
Ja genau, könnte so gehen. Bin mir nur noch 100% sicher, ob die Textersetzung sich um die Reihenfolge der Regeln kümmert (den die Reihenfolge ist hierbei essentiell) . Das musst du mal testen.

Gesendet via Mobile App

FFSSBZ
29.09.2013, 22:17
Hab das ganze gerade ausprobiert, funktioniert so nicht. Kann es sein das er die Leerzeichen die vor einem Wort in der Ersetzungen.txt stehen rauslöscht?

Wenn ich " Straße;Strasse" oder auch mit zwei leerzeichen ausprobiere ändert er mir auch das Straße das ganz am Anfang einer Zeile steht. (In der Zeile davor muss auch ein leerzeichen sein, da ja sonst das Wort zusammen mit dem anderen ist, da der gesamte text eine Zeile ist ... )

Kann ich mit Regex irgendwie etwas Basteln, das er nur die Ersetzung macht wenn danach Haus-Nr folgt?

Gruß,
FFSSBZ

limberu
30.09.2013, 09:13
Heisst es immer Haus-Nr?

traße\sHaus-Nr;trasse Haus-Nr

http://regexr.com?36he3

Alternative:

Du bekommst das erste Strasse mittels
Straße\s(?!Haus-Nr);
weg... Hier sucht er nach Straße<Leerzeichen> nicht gefolgt von Haus-Nr

http://regexr.com?36he6

FFSSBZ
30.09.2013, 20:18
Letzteres hat funktioniert, vielen vielen dank!

Gruß,
FFSSBZ

Leonp112
30.09.2013, 20:35
Letzteres hat funktioniert, vielen vielen dank!

Gruß,
FFSSBZ

Bei mir auch ! :-)



Gruß

Leon

limberu
01.10.2013, 00:36
Gerne

,-)

FFSSBZ
20.01.2014, 17:47
sooo, auf zur nächsten Runde :-)

hab in der Ersetzungen.txt folgendes stehen:
Ort;

Wenn jetzt im Alarmtext z.B Ortseingang steht löscht er das Ort davor raus. Ist es irgendwie möglich in der Ersetzungen.txt festzulegen das er das Wort nur ersetzen soll wenn es 1zu1 so vorkommt?

Gruß,
FFSSBZ

limberu
20.01.2014, 21:01
Mit Leerzeichen dahinter?
Ort ;

zwick88
23.01.2014, 21:08
Hi,
bei uns im Fax werden die Einsatzmittel wie folgt dargestellt:

Einsatzmittelname: xxyyzz
gef. Geräte: abc
Einsatzmittelname: xxyyzz
gef. Geräte: abc

usw...

Wie kann die Zeilen der gef.Geräte löschen? mit der ersetzung.txt muss es doch ein Zeichen geben, dass von gef. Gerät bis Einsatzmittel es gelöscht wird.

z.B. gef. Gerät - Einsatzmittelname;