是否可以通过 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 替换示例的人)
是否可以通过 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 替换示例的人)