Hallo,
bekanntlich kann man ja mit '.Find("a")' das erste "a" in einer Zeichenkette finden. Ich bräuchte diese Funktion nun aber für das letzte "a" (bzw. einen beliebigen String) in der Zeichenkette.
Warum das ganze? Ich möchte z.B. die Zeichenkette "<font color=blue>Hallo,</font> ich bin's!" nach dem letzten ">" abbrechen, um sie geteilt senden zu können. Will dabei aber eben vermeiden, dass ich mitten im HTML-Tag unterbreche.
Die Funktion '.Split(">")' würde mir da leider nicht weiterhelfen, weil sie dann ja insgesamt drei Teil-Zeichenketten erzeugt.
Gruß,
Thorsten
Feature Request: .Find("string") auf letztes Zeichen
Moderator: Co-Administratoren
-
- Beiträge: 10660
- Registriert: 21.09.2012, 08:09
- System: CCU
- Wohnort: Stuttgart
- Hat sich bedankt: 321 Mal
- Danksagung erhalten: 501 Mal
Feature Request: .Find("string") auf letztes Zeichen
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
-
- Beiträge: 9677
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 700 Mal
- Danksagung erhalten: 1625 Mal
Re: Feature Request: .Find("string") auf letztes Zeichen
Meine Idee wäre da mit .Substr(n,1) durch den String zu iterieren, das Ergebnis mit dem gesuchten Zeichen zu vergleichen und am Ende der Schleife hast Du entweder 0 oder das letzte Vorkommen.
LG, Michael.
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
-
- Beiträge: 12115
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 848 Mal
- Danksagung erhalten: 2150 Mal
- Kontaktdaten:
Re: Feature Request: .Find("string") auf letztes Zeichen
Ich denke so sollte es ganz unkompliziert nach Michaels Vorschlag gehen
Code: Alles auswählen
string s="<font color=blue>Hallo,</font> ich bin's!";
integer currentIdx=0;
integer lastCharIdx=0;
while (currentIdx < s.Length()) {
if (s.Substr(currentIdx,1)==">") {
lastCharIdx = currentIdx+1;
}
currentIdx=currentIdx+1;
}
!Alles vor dem letzten ">"
WriteLine(s.Substr(0,lastCharIdx));
!<font color=blue>Hallo,</font>
!Alles nach dem letzten ">"
WriteLine(s.Substr(lastCharIdx,(s.Length()-lastCharIdx)));
! ich bin's!