我想在Camel日志中用 * 替换某些字符串,为此,我使用以下代码与正则表达式,它工作正常:
.log("message body: ${body.replaceAll('<Name1>(?:.+?)</Name1>', '<Name1>*****</Name1>')}")
但是当我只想替换前5个字符时,我使用以下代码:
.log("message body: ${body.replaceAll('<Name1>(.{1,5})(.*)</Name1>', '<Name1>*****$2</Name1>')}")
但它给了我以下错误与空指针异常:
任何帮助将不胜感激,提前感谢..
1条答案
按热度按时间slwdgvem1#
根据文档,您必须使用
\}
转义}
。由于我们使用的是字符串,因此还需要转义\
字符,结果为\\}
示例:
另一种方法是使用exchange property和
body().regexReplaceAll
示例: