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
String Position ermitteln?
-
- Beiträge: 46
- Registriert: 6. Jan 2018 13:59
String Position ermitteln?
Steht der String in einem String Item?
Die Rules DSL bietet umfangreiche Möglichkeiten der Stringmanipulation. Hier reicht ein split:
Gehe zur vollständigen AntwortDie 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
- udo1toni
- Beiträge: 15248
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: String Position ermitteln?
Steht der String in einem String Item?
Die Rules DSL bietet umfangreiche Möglichkeiten der Stringmanipulation. Hier reicht ein split:
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
-
- Beiträge: 46
- Registriert: 6. Jan 2018 13:59
Re: String Position ermitteln?
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
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
- udo1toni
- Beiträge: 15248
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: String Position ermitteln?
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