Leerzeichen davor und dahinter entfernen - dazwischen aber e

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Leerzeichen davor und dahinter entfernen - dazwischen ab

Beitrag 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
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Leerzeichen davor und dahinter entfernen - dazwischen ab

Beitrag 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
bst
*****
Beiträge: 222
Registriert: Mo, 18.01.2010 16:14
Wohnort: Ilsfeld

Re: Leerzeichen davor und dahinter entfernen - dazwischen ab

Beitrag 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
bst
*****
Beiträge: 222
Registriert: Mo, 18.01.2010 16:14
Wohnort: Ilsfeld

Re: Leerzeichen davor und dahinter entfernen - dazwischen ab

Beitrag 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
Gesperrt