Seite 1 von 1

Re: Leerzeichen davor und dahinter entfernen - dazwischen ab

Verfasst: Fr, 30.09.2011 10:49
von Stephan
Falls der Begriff in Zelle A1 steht z.B. mittels der Formel:

=LINKS(RECHTS(A1;LÄNGE(A1)-1);LÄNGE(RECHTS(A1;LÄNGE(A1)-1))-1)



Gruß
Stephan

Re: Leerzeichen davor und dahinter entfernen - dazwischen ab

Verfasst: Sa, 01.10.2011 09:04
von Stephan
Aber ist es nicht auch möglich diese beiden Formeln zu verbinden so dass nur ein Suchdurchlauf gemacht werden muss?
Du kannst den Suchlauf problemlos als Makro aufzeichnen.


Gruß
Stephan

Re: Leerzeichen davor und dahinter entfernen - dazwischen ab

Verfasst: Sa, 01.10.2011 14:50
von bst
Hi,
Goma hat geschrieben:Niemand eine Lösung wie man in Suchen&Ersetzen zwei Formeln kombiniert?
Suchen nach: ^ *(.*[^ ]) *$

Ersetzen durch: $1

cu, Bernd

Re: Leerzeichen davor und dahinter entfernen - dazwischen ab

Verfasst: Di, 04.10.2011 13:25
von bst
Hi,

http://de.wikipedia.org/wiki/Regexp

http://www.regenechsen.de/phpwcms/index.php?regex_allg

http://wiki.services.openoffice.org/wik ... _in_Writer

http://wiki.services.openoffice.org/wik ... ns_in_Calc

In Perl/Python/VBScript.Regexp u.a. würde hier ein "^ *(.*?) *$" ausreichen, was so viel bedeutet wie:
^ Anfang der Zeile
* ein Leerzeichen, beliebig viele (auch 0), gierig
.*? ein (nahezu) beliebiges Zeichen, beliebig oft, nicht gierig
(...) speichert das Geklammerte als 'SubMatch' zwischen, das kann dann beim Ersetzen als $1, $2, $3, ... benutzt werden
* ein Leerzeichen, beliebig viele (auch 0), gierig
$ Ende der Zeile

Das nachgestellte ? wandelt den 'gierigen' ".*" in 'nicht gierig' um. Dadurch wird sichergestellt dass die Leerzeichen am Zeilenende zu dem " *" kommen und nicht im vorausgehenden ".*?" landen.

Die OOo RegExp-Maschine kennt das leider (!) nicht. Um hier trotzdem die Leerzeichen in den " *" zu bekommen benötigt man ein Nicht-Leerzeichen am Ende des SubMatches. Das ist denn der "[^ ]", i.e. ein beliebiges Zeichen mit Ausnahme eines Leerzeichens.

HTH, Bernd