Seite 1 von 1

String Position ermitteln?

Verfasst: 18. Feb 2020 18:37
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

Re: String Position ermitteln?

Verfasst: 18. Feb 2020 23:08
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

Re: String Position ermitteln?

Verfasst: 19. Feb 2020 18:29
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

Re: String Position ermitteln?

Verfasst: 19. Feb 2020 23:59
von udo1toni
Ja, das war auch schon meine Befürchtung, dass das Pipe Zeichen besonders zu behandeln ist...