首页 > 解决方案 > 如何计算交换正文中的子字符串实例

问题描述

我有一个由以下内容组成的主体:OK,OK,NOK,OK,NOK,使用 Spring DSL。我想计算正文中子字符串“OK”的实例。我试过 StringHelper countChar,但你只能传递字符。

有没有办法在不求助于 java bean 的情况下计算正文中的子字符串?

标签: apache-camel

解决方案


您可以使用bean调用静态方法,例如org.apache.commons.lang.StringUtils.countMatches来获取正文中的匹配数:

from("direct:source")
    .bean(StringUtils.class, "countMatches(${body}, OK)")
    .to("log:org.orzowei.so.question.q69134695?level=WARN")
    .end();

或者使用 Spring DSL:

<route id="abcRoute" autoStartup="true">
  <from uri="direct:source"/>
  <bean beanType="org.apache.commons.lang.StringUtils" method="countMatches(${body}, OK)"/>
  <to uri="log:org.orzowei.so.question.q69134695?level=WARN"/>
</route>

推荐阅读