Mirth正则替换问题:如何转义字符串中的()等特殊字符
解决正则中替换括号等特殊字符的问题
你的问题出在正则表达式里没有对特殊元字符进行转义:
(和)是正则的分组语法,属于特殊字符,必须用反斜杠\转义才能匹配字面括号.也是正则特殊字符,用来匹配任意单个字符,要匹配字面的点同样需要转义
修改后的代码如下:
for(i=0; i<msg['IN1'].length(); i++){ msg['IN1'][i]['IN1.4']['IN1.4.1'] = msg['IN1'][i]['IN1.4']['IN1.4.1'].toString().replace(/\/|\(|\)|%|\.|,|'/g, '') }
关键修改点:
- 将
(改为\(,)改为\) - 将
.改为\.
这样正则就能准确匹配你想要替换的所有目标字符,不会因为特殊元字符的语法干扰导致匹配错误。
内容的提问来源于stack exchange,提问作者PJ445
相关产品推荐
相关产品推荐

