Thank's
i use this and it works.
<setHeader
headerName="dns.name"><simple>${body.replaceAll(".*@(.*)","$1")}</simple></setHeader>
Daniel
>>>
I recommend to use a regular expression instead.
-----Ursprüngliche Nachricht-----
Von: Daniel Langevin [mailto:[email protected]]
Gesendet: Donnerstag, 23. November 2017 16:28
An: [email protected]
Betreff: substring using indexof +1 using simple language
Hi,
i try to retreive domain name from a String containng an email adress
with simple language from the body message in single instruction.
I'm using camel 2.17.7
Look my try
<setHeader
headerName="dns.name"><simple>${body.substring(${body.indexOf("@")}++,${body.length})}</simple></setHeader>
but receive this error
org.apache.camel.language.bean.RuntimeBeanExpressionException: Failed
to invoke method: substring(15++,30) on null due to:
org.apache.camel.component.bean.ParameterBindingException: Error during
parameter binding on method: public java.lang.String
java.lang.String.substring(int,int) at parameter #0 with type: int with
value type: class java.lang.String and value: 15++
if i decomposed it it's work
<setHeader
headerName="dnsStart"><simple>${body.indexOf("@")}++</simple></setHeader>
<setHeader
headerName="dns.name"><simple>${body.substring(${header.dnsStart},${body.length})}</simple></setHeader>
Is it possible to achieve it in only one instruction ?
Regards
Daniel Langevin
----------------------------------------------------------------
innogy SE Vorsitzender des Aufsichtsrates: Dr. Werner Brandt
Vorstand: Peter Terium (Vorsitzender), Dr. Hans Buenting,
Dr. Bernhard Guenther, Martin Herrmann, Hildegard Mueller, Uwe Tigges
Sitz der Gesellschaft: Essen, Eingetragen beim Amtsgericht Essen,
Handelsregister-Nr. HRB 27091, USt-IdNr. DE304171711
"Le présent courriel peut contenir des renseignements confidentiels et ne
s'adresse qu'au destinataire dont le nom apparaît ci-dessus. Si ce courriel
vous est parvenu par mégarde, veuillez le supprimer et nous en aviser aussitôt."