PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Textersetzung Regex Sammelalarm Zusammenfassung/Sortierung



Maurice Arnold
20.08.2013, 16:35
Moin zusammen,

habe mal ein etwas meiner Ansicht nach komplizierteres Anliegen. Und zwar geht es darum, die Einheiten aus einem Sammelalarm zusammen zu fassen.

Beispielsalarmierung

Alarmtext
Alarmierte Einheiten:
1-HLF-1
1-DLK-1
2-HLF-2
2-DLK-1
1-HLF-2
LZ8
3-RTW-1
2-HLF-1
LZ7
3-NEF-1

Ich würde gerne, die ganzen Fahrzeuge mit der 1 davor, zu einem LZ zusammen fassen. Das gleiche auch mit der 2. Sähe dann so aus:
LZ1
LZ2
LZ7
LZ8
3-RTW-1
3-NEF-1

Da bereitet mir sich direkt schon die erste Schwierigkeit. Normales Trennzeichen für die Auflistung der Sammelalarm-Einheiten ist in der Servereinstellung \n.
Das hatte ich mal durch ein Komma ersetzt, damit ich es in der Textersetzung einfacher habe. Normalerweise könnte man ja einfach dann die Fahrzeuge mit der 2 am Anfang in der Textersetzung einfügen und daraus das LZ2 machen. Aber das funktioniert nicht, da teilweise die Fahrzeuge Kreuz und quer zusammengefasst werden, unabhängig davon, wie sie von BosMon an fE weiter geleitet werden.
Daher funktioniert meine Idee mit der Ersetzung so einfach nicht.

Nun die Frage an Euch, gibt es in Regex einen Funktionsbefehl, mit dem ich die Einheiten bzw. Texte sortieren kann?

Flori95
20.08.2013, 17:45
Ja soetwas geht in Regex ist aber seeehr kompliziert. Das nennt sich 'look ahead' und 'look behind'.
Auf die Schnelle bekomm ich jezad diese Befehle nicht beisamen aber prinzipiell ist soetwas möglich.

Maurice Arnold
25.08.2013, 17:09
Ich habe mich da mal ein wenig schlau gemacht, um das aber ordentlich anwenden zu können, muss ich doch erst mal die ganzen Einheiten sortiert haben.

Look ahead und Look behind macht ja nichts anderes, als eine bestimmte Sache nur zu ersetzen, wenn etwas bestimmtes davor bzw. danach steht.
Und das funktioniert erst, wenn ich die Einheiten sortiert habe..

Maurice Arnold
06.11.2013, 13:57
Kennt sich wer vielleicht mit der Thematik besser aus und hat eine Idee?
Bzw. wäre dies eventuell durch eine Batch zu lösen?