骆驼子串操作 - 从消息正文末尾开始的 n 个字符

erd*_*erd 1 spring apache-camel

这对你们大多数人来说可能是一次上篮,所以我提前道歉。我正在将 Apache camel 与 spring DSL 一起使用。我的消息正文已转换为字符串。我想要从第 9 个到第 998 个字符的所有内容,最好使用简单的表达式。我试过了

<transform>
  <simple>${body.substring(8,${body.length}-1)}</simple>
</transform>
Run Code Online (Sandbox Code Playgroud)

但 Camel 不能识别减法。因此,它会尝试将字符串转换为"1045-2"整数,但显然失败了。这里有解决方法吗?

小智 6

以下代码片段将起作用。

<transform>
  <simple>${body.substring(8,${body.length()-1})}</simple>
</transform>
Run Code Online (Sandbox Code Playgroud)


Cla*_*sen 5

使用groovy、javascript等更强大的动态编程语言

<groovy>request.body.substring(8, request.body.length-1)</groovy>
Run Code Online (Sandbox Code Playgroud)

您还需要将camel-groovy 作为依赖项与groovy 一起添加。