Seite 1 von 1
RegEx: Leerzeichen zwischen Zahlen ersetzen
Verfasst: So, 05.02.2017 14:00
von Bürow
Hallo allerseits,
ich versuche gerade in einem Writer-Dokument, das neben Text auch Telefonnummern enthält, alle Telefonnummern einheitlich zu formatieren:
aus 0 43 13 / 89 12 34 35 (frei erfunden) soll 04313/89123435 werden. Wie muss ich vorgehen, wenn ich das mit regulären Ausdrücken erledigen will, das Dokument ist nämlich ziemlich groß? Die entsprechenden Stellen finde ich ja mit [0-9] [0-9], aber womit muss ich das Ganze dann ersetzen?
Für Eure Hilfe bin ich Euch jetzt schon dankbar
LG Bürow
Re: RegEx: Leerzeichen zwischen Zahlen ersetzen
Verfasst: So, 05.02.2017 16:47
von mikeleb
Hallo,
du suchst nach: ([0-9])( )([0-9])
und ersetzt durch: $1$3
Re: RegEx: Leerzeichen zwischen Zahlen ersetzen
Verfasst: So, 05.02.2017 17:26
von Bürow
Super, hat funktionert. Vielen Dank für deine Hilfe!
Re: RegEx: Leerzeichen zwischen Zahlen ersetzen
Verfasst: So, 05.02.2017 17:49
von F3K Total
Hallo mikeleb,
kannst du den Ausdruck bitte verbal erläutern?
Edit: Ich glaube ich habe ihr verstanden:
- Teil 1: ([0-9]) -> eine Zahl
- Teil 2 ( ) -> irgendetwas dazwischen
- Teil 3 ([0-9]) -> eine Zahl
Wird ersetzt durch
Richtig?
Gruß R
Re: RegEx: Leerzeichen zwischen Zahlen ersetzen
Verfasst: So, 05.02.2017 18:05
von mikeleb
Hallo R,
so ist es! (fast)
Teil 2 ( ) -> irgendetwas dazwischen
Das "irgendetwas" ist hier ein Leerzeichen.
Re: RegEx: Leerzeichen zwischen Zahlen ersetzen
Verfasst: So, 05.02.2017 18:25
von F3K Total
mikeleb hat geschrieben: ↑So, 05.02.2017 18:05
Das "irgendetwas" ist hier ein Leerzeichen.
Dankeschön! Weisst du, wie es für alle "Nichtzahlen" also "irgendwas" aussehen müsste?
Gruß R
Re: RegEx: Leerzeichen zwischen Zahlen ersetzen
Verfasst: So, 05.02.2017 18:29
von mikeleb
Hi R,
wenn es genau eine Nichtziffer sein soll:
Re: RegEx: Leerzeichen zwischen Zahlen ersetzen
Verfasst: So, 05.02.2017 19:07
von F3K Total
Klasse,
Dankeschön!
Gruß R
Re: RegEx: Leerzeichen zwischen Zahlen ersetzen
Verfasst: Di, 07.02.2017 18:50
von lorbass
Übrigens:
- Die Klammern („capturing parentheses“) um den den mittleren Teilausdruck sind entbehrlich, da dieser ja im Folgenden gar nicht weiter verwendet wird, sondern sogar entfällt.
Statt ([0-9])([^0-9])([0-9]) reicht also ([0-9])[^0-9]([0-9]) völlig aus. Das Ergebnis setzt sich dann natürlich mit $1$2 zusammen.
- Wenn zwischen den Zahlen auch schon mal mehr als ein Leerzeichen entfernt werden muss, hilft die Ergänzung des mittleren Teil-RegEx um ein Plus-Zeichen [^0-9]+.
- Erste Hilfe bei der Interpretation eines RegEx bei userguide.icu-project.org
Gruß
lorbass