Seite 1 von 2
Anfang und Ende einer Zeichenkette prüfen und...
Verfasst: Di 6. Mär 2018, 22:23
von giorgio100
Hallo,
ich habe mit der Formel :
=WECHSELN(WECHSELN(A1;"++";"+");"+";" . ")
die Zeichenkette:
+abr++dsad+dfas+jhhjhj+
in:
" . abr . dsad . dfas . jhhjhj . "
umgewandelt. Nun würde ich gerne noch prüfen ob am Anfang oder/und am Ende die Zeichenkette " . " steht und um diese dann am Anfang oder/und am Ende kürzen. Das Ergebnis sollte dann so aussehen: "abr . dsad . dfas . jhhjhj"
Ich habe es jetzt seit Stunden probiert, komme einfach nicht auf die Lösung.
Freue mich auch Hilfe.
Gruss
Jürgen
Re: Anfang und Ende einer Zeichenkette prüfen und...
Verfasst: Mi 7. Mär 2018, 09:04
von Helmut_S
Hallo Jürgen, du musst deinem "Baby" nur weitere 2 x (vorne u. hinten) die "Windeln" wechseln, dann müsste es klappen. Wenn du die Anführungszeichen auch im Ergebnis drin haben willst, musst du nur die Formel an der richtigen Stelle etwas ändern. Schau dir die Tabelle an.
Gruß Helmut
Re: Anfang und Ende einer Zeichenkette prüfen und...
Verfasst: Mi 7. Mär 2018, 09:26
von giorgio100
Hallo Helmut,
danke für deine Mühe. Ich habe wohl vergessen zu erwähnen, das der Text nicht immer gleich ist.
Deshalb kann man nach bestimmten Buchstaben nicht suchen. Du hast das " . a" mit "a" getauscht.
Grundsätzlich müsste zum Anfang und zum Ende geprüft werden ob da die Zeichenfolge " . " steht.
(Ohne Anführungszeichen) Ich denke ohne Abfrage wird es wohl nicht gehen - oder?
Gruss Jürgen
Re: Anfang und Ende einer Zeichenkette prüfen und...
Verfasst: Mi 7. Mär 2018, 10:01
von mikele
Hallo,
Code: Alles auswählen
=WENN(ISTFEHLER(SUCHEN(" \. .* \. ";A1));A1;TEIL(A1;4;LÄNGE(A1)-6))
Re: Anfang und Ende einer Zeichenkette prüfen und...
Verfasst: Mi 7. Mär 2018, 10:55
von giorgio100
Hallo Mikele,
danke für deine Mühe. Das klappt jedoch nur dann wenn auf beiden Seiten " . " steht. Es kann aber zum Beispiel
sein, das nur hinten " . " steht...
Gruss Giorgio
Re: Anfang und Ende einer Zeichenkette prüfen und...
Verfasst: Mi 7. Mär 2018, 11:31
von mikele
Hallo,
bevor wir jetzt weiter hin und her experimentieren. Was kann alles passieren bzw. welche Fälle sollen wie behandelt werden?
Re: Anfang und Ende einer Zeichenkette prüfen und...
Verfasst: Mi 7. Mär 2018, 11:45
von giorgio100
Du hast recht Mikele,
ich werde es versuchen:
Musterstring: " . blabla . . blablabla . blabla . " oder " . blabla . blabla . "
Endergebnis soll sein: "blabla . blablabla . blabla oder "blabla . blabla"
Es können zwischen den Wörter (Die Anzahl der Wörter ist verschieden) einmal oder auch zwei mal die Zeichenfolge " . " hintereinander kommen.
Ich brauche zwischen den Wörtern die Trennung " . " nur immer einmal.
Es kann vorne oder hinten oder beides die Zeichenfolge " . " kommen. Die brauche ich vorne oder hinten gar nicht..
Ist das gut so ? :-=
Gruss Jürgen
Re: Anfang und Ende einer Zeichenkette prüfen und...
Verfasst: Mi 7. Mär 2018, 16:56
von mikele
Hallo,
die Dopplungen hast du ja mit Wechseln() schon in den Griff bekommen. Anfang und Ende wäre mit einer verschachtelten Funktion so lösbar:
Code: Alles auswählen
=WENN(RECHTS(WENN(LINKS(A1;3)=" . ";TEIL(A1;4;LÄNGE(A1));A1);3)=" . ";LINKS(WENN(LINKS(A1;3)=" . ";TEIL(A1;4;LÄNGE(A1));A1);LÄNGE(WENN(LINKS(A1;3)=" . ";TEIL(A1;4;LÄNGE(A1));A1))-3);WENN(LINKS(A1;3)=" . ";TEIL(A1;4;LÄNGE(A1));A1))
Einfacher wäre es in zwei Schritten:
Übrigens funktioniert mein erster Ansatz nicht, da reguläre Ausdrücke wie \. oder .* zwar funktionieren, die Ausdrücke für Anfang und Ende leider nicht.
Re: Anfang und Ende einer Zeichenkette prüfen und...
Verfasst: Mi 7. Mär 2018, 17:02
von mikele
Hallo,
einfacher wäre
Code: Alles auswählen
=VERKETTEN(WENN(LINKS(A1;3)=" . ";"";LINKS(A1;3));TEIL(A1;4;LÄNGE(A1)-6);WENN(RECHTS(A1;3)=" . ";"";RECHTS(A1;3)))
Re: Anfang und Ende einer Zeichenkette prüfen und...
Verfasst: Mi 7. Mär 2018, 17:47
von Helmut_S
Hallo Jürgen, anbei eine überarbeitete Version meiner Tabelle. Sie funktioniert für die vorgegebene Zahl von "+"; von den alfabetischen Zeichen ist sie unabhängig - also kann auch blabla drin stehen- und lässt sich hinunterziehen. Wenn sich die Zahl oder Sequenz der "+" ändert musst du sie halt sinngemäß anpassen. Die Formel ist ja nicht schwierig zu verstehen, man muss nur darauf achten, dass Calc (wie immer) die Formel von innen nach Außen auflöst. Damit das 2. "x" verschwindet, musst du darauf achten an dieser Position einen leeren String "" einzugeben.
Gruß Helmut
Edit: Wenn das letzte Pluszeichen rechts fehlt, funktioniert die Formel trotzdem, aber wenn das erste "+" fehlt oder sich die Anzahl der dazwischen liegenden Zeichen sich ändert, dann dürfte die Anpassung der Formel wohl zu aufwändig sein; ob die Formel vernünftig zu gebrauchen ist hängt also davon ab.