PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wieder mal: Textersetzung



zatsch
08.03.2013, 16:34
Ich habe in der globalen Textersetzung folgende Einträge:

str\.;straße
str;straße
Str;Straße
Str\.;Straße

Das alles um halt jede mögliche Version der verkürzten Straße gegen die ausgeschriebene Version zu ersetzen.
Leider wird jetzt z.B. die "Beckestr." folgendermaßen ersetzt:

"Beckestraßeaße"

Und nu?
Das passiert auch wenn ich es in der Serveroberfläche im Testbereich probiere.
Liegt wohl daran, dass die Liste nach der Ersetzung weiter abgearbeitet wird, aber warum dann nur "aße"?

Beuti
08.03.2013, 16:44
Bei diesen beiden Einträgen

str;straße
Str;Straße

Sprich wenn das str keinen Punkt hat müsste ja danach ja ein Leerzeichen kommen oder?

also mal damit versuchen

str ;straße
Str ;Straße

Is aber jetzt nur mal eine Vermutung bin mir nicht ganz sicher obs geht.

Gruß

zatsch
08.03.2013, 16:51
Genial einfach, einfach genial :-)
Auf so was einfaches kommt man dann irgendwie nicht.
Klappt!
Auch wenn ich das, was da passiert, nicht ganz nachvollziehen kann...

Danke !

Beuti
08.03.2013, 17:17
Naja an sich ist es ganz einfach

str\.;straße
Str\.;Straße

in diesen Fällem muss hinter dem str ein Punkt stehen damit es ersetzt wird.

str;straße
Str;Straße

in diesen Fällen kann beliebiges hinter dem Punkt stehen.
Wenn du da jetzt ein Leerzeichen einfügst änderst du die Regel eben so, dass dort ein Leerzeichen stehen muss.

Und das ist genau das was bei deinem Beispiel "Beckestr." passiert. Es steht ein . da also wird die erste Ersetzungsregel angewendet und ergibt "Beckestraße". Da greift jetzt die bisherige Regel ohne Punkt da dort ja beliebiges Zeichen steht und ergibt dann das "falsche" Ergebnis."Beckestraßeaße". Durch das Leerzeichen greift die Regel eben nicht mehr, da nach dem str im gesamten Wort ja kein Leerzeichen sondern ein a steht.

hawkeye94
16.03.2013, 12:26
Noch ne frage zur Textersetzung: kommt die mit * nicht klar?
ich sehe in den Logs folgende Meldung:
2013-03-16 11:45:33,257 ERROR (TextReplacer.java:55) - Fehler bei der Textersetzung für Regel '*11ort*': Dangling meta character '*' near index 0

Regel sieht wie folgt aus:
*11ort*;*ort*

Grund für die Regel: Wird bei einer Alarmierung mal keine Hausnummer mit angegeben wird nicht die 11 von der Ortzuordnung als Hausnummer genommen.....

firEmergency
16.03.2013, 16:30
Noch ne frage zur Textersetzung: kommt die mit * nicht klar?
ich sehe in den Logs folgende Meldung:
2013-03-16 11:45:33,257 ERROR (TextReplacer.java:55) - Fehler bei der Textersetzung für Regel '*11ort*': Dangling meta character '*' near index 0

Regel sieht wie folgt aus:
*11ort*;*ort*

Grund für die Regel: Wird bei einer Alarmierung mal keine Hausnummer mit angegeben wird nicht die 11 von der Ortzuordnung als Hausnummer genommen.....

Ja! Der Stern ist ein Sonderzeichen bei regulären Ausdrücken und muss "escaped" werden:

\*11ort\*;*ort*

(nur auf der linken Seite)

C-A-F-S
22.03.2013, 16:11
Hallo,

wie kann man nur die erste Zahl aus der jeweiligen Zeile löschen, wenn man "1;" setzt verschwinden ja alle 1 aus dem gesamten Text:


1 22.03.2013 12:31:33 85651

2 22.03.2013 12:31:35 85372

3 22.03.2013 12:31:38 85613

usw.

Beuti
23.03.2013, 10:38
Hey

du könntest mal das probieren

^[0-9];

solte alle alle Zahlen ([0-9]) am Anfang der Zeile löschen (^).

Habs jetzt grad aber nur in nem Regex-Tester überprüft und nicht in FE denke aber es sollte gehen.

C-A-F-S
23.03.2013, 12:03
^[0-9];

solte alle alle Zahlen ([0-9]) am Anfang der Zeile löschen (^).


Hallo,

das funktioniert leider auch nicht, die Zahlen bleiben stehen...