You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Daniel Langevin <da...@shq.gouv.qc.ca> on 2017/11/24 13:00:53 UTC

Rép. : AW: substring using indexof +1 using simple language

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:daniel.langevin@shq.gouv.qc.ca]
Gesendet: Donnerstag, 23. November 2017 16:28
An: users@camel.apache.org
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."