Hallo!
Ich bin neu hier, habe nach einer Antwort auf meine Frage gesucht & nicht gefunden; vielleicht ist sie ja schon mehrfach gestellt & beantwortet worden (könnte ich mir denken):
ich suche eine Möglichkeit, das letzte Wort aus einem String / das letzte Vorkommen eines Teilstrings zu finden
Natürlich kann ich eine rekursive Funktion schreiben, die von Beginn an den jeweiligen Delimiter sucht und sich die letzte Position merkt und wenn keiner mehr gefunden wird, dann die gemerkte Position nimmt und bis zum Ende des Strings extrahiert.
Aber so -- langsam -- haben wir schon vor 20 Jahren programmiert. Gibt´s in LO keine elegantere Möglichkeit? Weil ich würde dann gleich allgemeine Funktionen schreiben à la ITEM(string, delimiter, nummer) und ITEM_ANZ(string, delimiter, modus). Oder hat die schon jemand gemacht (müsste eigentlich sein, sind ja essenzielle Sachen).
Danke für Antwort.
WB
🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Letztes Wort
Re: Letztes Wort
OK, schreibe mir die Funktionen mit split() selbst
Re: Letztes Wort
Hallo
Karolus
In Basic hat sich seit mind. 20 Jahren nichts wesentliches in der Entwicklung getan - wenn du "schneller" programmieren willst, beschäftige dich mit Python oder einer der anderen von Lo/AOo unterstützen (Script-)Sprachen.Aber so -- langsam -- haben wir schon vor 20 Jahren programmiert. Gibt´s in LO keine elegantere Möglichkeit? Weil ich würde dann gleich allgemeine Funktionen schreiben à la ITEM(string, delimiter, nummer) und ITEM_ANZ(string, delimiter, modus). Oder hat die schon jemand gemacht (müsste eigentlich sein, sind ja essenzielle Sachen).
Karolus
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Re: Letztes Wort
A1: Ich gehe zum Kühlschrank und finde dort nichts
A3: =LINKS(A1;SUCHEN("#";WECHSELN(A1;" ";"#";LÄNGE(A1)-LÄNGE(WECHSELN(A1;" ";""))))-1)
A3: Ich gehe zum Kühlschrank und finde dort
Wirkungsweise der Formel in A3 (man beschreibt Formeln von innen nach außen):
1. Von der Länge des Strings wird die Länge des delimiterbereinigten Strings abgezogen. Diese Differenz ergibt das gesuchte letzte Auftreten des Delimiters
2. Dort wird er gewechselt in einen Markierer (hier #)
3. Mittels LINKS und SUCHEN wird alles bis zum Markierer ausgegeben
- Als Delimiter " " sowie als Markierer "#" (als letzter Delimiter) kannst Du natürlich andere Zeichen wählen
- Ein häufig unbeabsichtigt eingegebenes Zeichen ist das Leerzeichen am Anfang/Ende oder zwei Leerzeichen mitten drin. Korrektur: GLÄTTEN(A1)
- WECHSELN ist die einzige Excelformel mit dem Parameter "n-tes Auftreten".
- Ohne einen Delimiter gibt es Err: 502 ... wenn nötig, fehlerbehandelst Du also noch.
A3: =LINKS(A1;SUCHEN("#";WECHSELN(A1;" ";"#";LÄNGE(A1)-LÄNGE(WECHSELN(A1;" ";""))))-1)
A3: Ich gehe zum Kühlschrank und finde dort
Wirkungsweise der Formel in A3 (man beschreibt Formeln von innen nach außen):
1. Von der Länge des Strings wird die Länge des delimiterbereinigten Strings abgezogen. Diese Differenz ergibt das gesuchte letzte Auftreten des Delimiters
2. Dort wird er gewechselt in einen Markierer (hier #)
3. Mittels LINKS und SUCHEN wird alles bis zum Markierer ausgegeben
- Als Delimiter " " sowie als Markierer "#" (als letzter Delimiter) kannst Du natürlich andere Zeichen wählen
- Ein häufig unbeabsichtigt eingegebenes Zeichen ist das Leerzeichen am Anfang/Ende oder zwei Leerzeichen mitten drin. Korrektur: GLÄTTEN(A1)
- WECHSELN ist die einzige Excelformel mit dem Parameter "n-tes Auftreten".
- Ohne einen Delimiter gibt es Err: 502 ... wenn nötig, fehlerbehandelst Du also noch.
MfG Lupo - xxcl.de Win10ProLO6062
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.