在我的字符串中,我想在开头和结尾添加一个#:强制转换(。* as varchar)
我试过了:
s.replaceAll("cast(.* as varchar)","#cast$1#");
但是对于字符串“('abas'+ cast(x as varchar))”,结果是“('abas'+'#cast(x as varchar#') )“这是不正确的。我做错了什么?
答案 0 :(得分:2)
s.replaceAll("(cast\\(\\.\\* as varchar\\))","#$1#");
会做的伎俩。
你收到了错误的输出,因为“。* as varchar ”周围的括号没有被删除,因此$ 1正在替换它们内部的内容。
答案 1 :(得分:0)
()
有特殊的改进,你需要逃脱:
s.replaceAll("(cast\\(.* as varchar\\))","#$1#");