PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Textersetzung - Teile ab definiertem Symbol löschen



BGrun
12.01.2013, 17:33
Gibt es eine Regel mit der in dem Textersetzungsmodul Teile ab einem definiertem Symbol glöscht werden?

Bsp. Einsatz Musterstadt Musterstraße 123 Info1: Feuer Info2: Zusatzinfo (Fahrzeuge...)

Ich möchte das ab dem Symbol "(" der gesamte Text bis zum Ende gelöscht wird, da diese Informationen nicht benötigt werden.

jani
13.01.2013, 11:43
Würde mich auch interessieren.....

Besser wäre sogar noch, nur den Inhalt inkl. der Klammern löschen zu können.

firEmergency
13.01.2013, 12:18
Langsam werd ich zum Regex-Experten :)



\(.*\);


Löscht alles zwischen zwei Klammern. Zur kürzen Erklärung:
. == Beliebiges Zeichen
* == Kann beliebig oft wiederholt werden
\( == Da das Klammernsymbol in Regex eine eigene Bedeutung hat, muss es "escaped" werden. Das heißt mit dem \ sage ich, das die Klammer wirklich eine Klammer ist und nicht eine besondere Bedeutung hat.

jani
13.01.2013, 13:17
Langsam werd ich zum Regex-Experten :)



Löscht alles zwischen zwei Klammern. Zur kürzen Erklärung:
. == Beliebiges Zeichen
* == Kann beliebig oft wiederholt werden
\( == Da das Klammernsymbol in Regex eine eigene Bedeutung hat, muss es "escaped" werden. Das heißt mit dem \ sage ich, das die Klammer wirklich eine Klammer ist und nicht eine besondere Bedeutung hat.

Bei mir löscht es alles ab Beginn der ersten Klammer. Damit ich sozusagen der komplette folgende Text weg. Kann man es auf die Klammern und den Inhalt begrenzen?

BGrun
13.01.2013, 13:25
Bei mir löscht es alles ab Beginn der ersten Klammer. Damit ich sozusagen der komplette folgende Text weg. Kann man es auf die Klammern und den Inhalt begrenzen?

Unser Alarmtext ist wie folgt aufgebaut

12354-Feuer mittel Menschenleben in Gefahr (FEU Y) SoSi ANSCHRIFT # Info-1: Brennt Haus Info-2: ZUSATZINFO (R-ABC:xx.xx.01, F:ABC-xx.xx.xx, F:ABC-xx.xx.xx, )

Kann eine Logic eingebaut werden, dass erst ab der 2. Klammer bzw. eine Prüfung von hinten startet? Es sollen ausschließlich die ganzen Alarmierten Kräfe entfernt werden.

tholdis
13.01.2013, 22:57
Mit diesem regulären Ausdruck werden nur Klammerinhalte und deren Klammern entfernt:
\([^\(]*\)

jani
13.01.2013, 23:00
Mit diesem regulären Ausdruck werden nur Klammerinhalte und deren Klammern entfernt:
\([^\(]*\)

Hallo,

aber nur die erste Klammer inkl. Inhalt. Wenn später im Text noch eine Klammer mit Inhalt folgt, dann wird diese nicht ersetzt. Wie geht das??

EDIT: Nein funktioniert doch. Prima und vielen Dank!!!

tholdis
13.01.2013, 23:10
@jani: Wunderbar :)


Unser Alarmtext ist wie folgt aufgebaut

12354-Feuer mittel Menschenleben in Gefahr (FEU Y) SoSi ANSCHRIFT # Info-1: Brennt Haus Info-2: ZUSATZINFO (R-ABC:xx.xx.01, F:ABC-xx.xx.xx, F:ABC-xx.xx.xx, )

Kann eine Logic eingebaut werden, dass erst ab der 2. Klammer bzw. eine Prüfung von hinten startet? Es sollen ausschließlich die ganzen Alarmierten Kräfe entfernt werden.

@BGrun: Wenn das die komplette Meldung ist, kannst du mit diesem Ausdruck die letzte Klammer entfernen (und ggf. sonstige Leerzeichen/Umbrüche und sonstige Zeichen am Ende):
\([^\)]*\)[^\(]*$

FFSSBZ
13.01.2013, 23:49
Dann hätte ich auch mal noch ne Frage, wie kann ich mir hier Brand, Sonstiges und THL raulöschen lassen?

Beispiele:
- Brand :
- Sonst i ges :
- THL : P WOHNUNG
oder
- Brand : B 2
- Sonst i ges :
- THL :
oder
- Brand:
- Sonst i ges:
- THL :

Danke schonmal

tholdis
13.01.2013, 23:56
Dann hätte ich auch mal noch ne Frage, wie kann ich mir hier Brand, Sonstiges und THL raulöschen lassen?

Du hast immer diese 3 Zeilen? Was kommt rein und was soll nachher übrig bleiben? Die Leerzeichen bei "Sonst i ges" stimmen?

FFSSBZ
14.01.2013, 17:51
Die Leerzeichen bei Sonst i ges kann ich ja durch Sonst i ges;Sonstiges weg machen, das sollte nicht das Problem sein. Ich will das "Brand" "Sonstiges" "THL" hier gelöscht wird und die Wörter, wenn welche danach stehen wie z.B "B2" oder "P Wohnung" oder "VU P Klemm" stehen bleiben.

Die Wörter die davor oder nach diesem Abschnitt kommen sind leider nie die selben und immer unterschiedlich.

Gruß,
FFSSBZ

tholdis
14.01.2013, 18:00
Du brauchst doch nur die Texte so eintragen und durch "nichts" ersetzen lassen:

Brand :;
Sonst i ges :;
THL :;

weitere Beispiele:
http://firemergency-wiki.de/mediawiki/index.php5?title=Textersetzung

Bayerfire
04.02.2013, 20:14
Hallo zusammen,

Mit ein bischen tüftlen läuft das Fax bei uns bei den ersten test ganz gut auch bei der Textersetzung funktioniert soweit im Grunde alles wunderbar...

Ein "Problem" konnte ich aber noch nicht beheben unsere faxe Enden mit:
****************************************Ende des Alarmschreibens

und nun will ich diese hinterlistigen Sternchen rausbringen aber das klappt nicht!

meine versuchten Befehlen in der Textersetzung:
1.
*;

2.
**;

3.
*;-
-;

Folge: Es kamm bei ALLEN defenierten Schlüsselwörtern nur "N/A" an - keine Daten aus dem Fax wurden übermitelt, sobald die Befehle wieder rausgenommen war klappte wieder alles wunderbar aber die ********** waren halt wieder drin - für ne SMS leider zu lang und damit unbrauchbar ...

Gibts da vieleicht eine Lösung !? oder ist das Problem bekannt ?

firEmergency
05.02.2013, 09:21
Hallo zusammen,

Mit ein bischen tüftlen läuft das Fax bei uns bei den ersten test ganz gut auch bei der Textersetzung funktioniert soweit im Grunde alles wunderbar...

Ein "Problem" konnte ich aber noch nicht beheben unsere faxe Enden mit:
****************************************Ende des Alarmschreibens

und nun will ich diese hinterlistigen Sternchen rausbringen aber das klappt nicht!

meine versuchten Befehlen in der Textersetzung:
1.
*;

2.
**;

3.
*;-
-;

Folge: Es kamm bei ALLEN defenierten Schlüsselwörtern nur "N/A" an - keine Daten aus dem Fax wurden übermitelt, sobald die Befehle wieder rausgenommen war klappte wieder alles wunderbar aber die ********** waren halt wieder drin - für ne SMS leider zu lang und damit unbrauchbar ...

Gibts da vieleicht eine Lösung !? oder ist das Problem bekannt ?

Sternchen sind ein Sonderzeichen bei Regex. Deswegen musst du sie "Escapen".
Sieht dann so aus:

\**;

Bayerfire
06.02.2013, 17:30
Sternchen sind ein Sonderzeichen bei Regex. Deswegen musst du sie "Escapen".
Sieht dann so aus:

\**;

TOP !!!!!

Schon klappts - Herzlichen Dank - ihr seid echt spitze :)

FFSSBZ
02.03.2013, 14:23
Ich bräuchte auch nochmal eure hilfe, bekomme es nicht ganz hin. Es geht darum das Datum und die Uhrzeit aus folgendem Text zu löschen:

EINSATZMITTEL
Einsatzmittel : 6.1.2 AB-L FF Musterhausen
Alarmiert : 02.03.2013 13:42
Einsatzmittel : 6.1.2 AB-L FL Musterstadt 31/1
Alarmiert : 02.03.2013 13:42
Einsatzmittel : 6.1.2 AB-L FL Musterhausen 40/1
Alarmiert : 02.03.2013 13:42
Einsatzmittel : 6.1.2 AB-L FL Musterhausen 11/1
Alarmiert : 02.03.2013 13:42
BEMERKUNG

Hier verwende ich zurzeit folgendes in der ersetzungen.txt:
Alarmiert[ |:|\\.|0|1|2|3|4|5|6|7|8|9]*Einsatzmittel;\n
: [0|1|2|3|4|5|6|7|8|9|\\.]*;
Alarmiert;
Einsatzmittel;
6.1.2;
AB-L;

Damit erhalte ich folgendes Resultat:
Musterhausen
Musterstadt 31/1
Musterhausen 40/1
Musterhausen 11/1 1342

Dieses 1342 bzw die Uhrzeit nach dem letzten Fahrzeug bekomme ich einfach nicht rausgelöscht ...

Danke schonmal

FFSSBZ

firEmergency
02.03.2013, 17:57
Ich bräuchte auch nochmal eure hilfe, bekomme es nicht ganz hin. Es geht darum das Datum und die Uhrzeit aus folgendem Text zu löschen:

...
Dieses 1342 bzw die Uhrzeit nach dem letzten Fahrzeug bekomme ich einfach nicht rausgelöscht ...

Danke schonmal

FFSSBZ

Um eine Uhrzeit zu löschen, kannst du diese Regex nehmen:

\d{2}:\d{2};
\d{2}.\d{2}.\d{4};

(erste Zeile: Uhrzeit durch : getrennt. Zweite Zeile: Datumsangabe)