String Position ermitteln?

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
fkempter
Beiträge: 46
Registriert: 6. Jan 2018 13:59
Answers: 0

String Position ermitteln?

Beitrag von fkempter »

Wer kann mir eine Tip geben wie ich einen String teilen kann und zwar:

QuellString = "9374|text1"

nun möchte ich den String aufteilen vor dem Zeichen "|" und danach

Das heißt Ergebnis wäre:
TeilStr1 = "9374"
TeilStr2 = "text1"

Vielen Dank für eure Hilfe
von udo1toni » 18. Feb 2020 23:08
Steht der String in einem String Item?

Die Rules DSL bietet umfangreiche Möglichkeiten der Stringmanipulation. Hier reicht ein split:

Code: Alles auswählen

rule "String in Teilstring"
when
    Item MyString changed
then
    var String strTeil1 = MyString.toString.split("|").get(0)
    var String strTeil2 = MyString.toString.split("|").get(1)
    logInfo("strings","Teil1: {} Teil2: {}",strTeil1,strTeil2)
end
Gehe zur vollständigen Antwort

Benutzeravatar
udo1toni
Beiträge: 15248
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: String Position ermitteln?

Beitrag von udo1toni »

Steht der String in einem String Item?

Die Rules DSL bietet umfangreiche Möglichkeiten der Stringmanipulation. Hier reicht ein split:

Code: Alles auswählen

rule "String in Teilstring"
when
    Item MyString changed
then
    var String strTeil1 = MyString.toString.split("|").get(0)
    var String strTeil2 = MyString.toString.split("|").get(1)
    logInfo("strings","Teil1: {} Teil2: {}",strTeil1,strTeil2)
end
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

fkempter
Beiträge: 46
Registriert: 6. Jan 2018 13:59
Answers: 0

Re: String Position ermitteln?

Beitrag von fkempter »

Hi Udo
Danke für deine Tip, aber das habe ich aucg schon versucht leider ohne Erfolg.
Aber da du mir bestätigt hast das split die richtige Funktion ist habe ich weiter untersucht bis ich zum folgenden Ergebnis gekommen bin.

Entscheiden war das ich \\ vor dem | gesetzt habe.
und zwar so:
var String strTeil1 = MyString.toString.split("\\|").get(0)
Danach wurde der String sauber aufgeteilt.
Vielrn Dank für deine schnelle Hilfe

LG Franz

Benutzeravatar
udo1toni
Beiträge: 15248
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: String Position ermitteln?

Beitrag von udo1toni »

Ja, das war auch schon meine Befürchtung, dass das Pipe Zeichen besonders zu behandeln ist...
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten