是否可以通过 Spring DSL 替换字符串中的双引号 " 字符?

Is it possible to replace double quote " character in a string via Spring DSL?

是否可以通过 Spring DSL 替换字符串中的双引号 " 字符?我在 xml 中有一个名字 space,我需要在发送到另一个之前删除它终点。

从 xml

中删除以下字符串
xsi:schemaLocation="xxxxx"

我尝试使用简单的语言,它 运行 但它没有替换引用

<route>
<from uri="file:src/xmldata?noop=true"/>
<convertBodyTo type="java.lang.String"/>                                 
<setBody>
<simple>
{body.replaceAll("xsi:schemaLocation="xxxxx"","")}
</simple>
</setBody>  .  .  </route>`

在大多数情况下,当正则表达式匹配双引号或单引号出现问题时,使用字符的十六进制表示就足够了:\u0022(或 \x22,具体取决于 language/engine).

所以,使用

{body.replaceAll("xsi:schemaLocation=\u0022xxxxx\u0022","")}
                                     ^^^^^^     ^^^^^^ 

请注意,单引号可以与 \u0027(或 \x27)匹配。我用一个很棒的网站来查找十六进制代码,这里是 a link to the Unicode code converter.

在所有示例中请注意:${body.},而不是 {body.}(那些只是寻找 XML 替换示例的人)