求 String.replaceAll 特殊字符处理方法
问题描述:
有一字符串
select top ${fetchNum} * from tbl
想把其中的${fetchNum}替换成需要的数值,用replaceAll怎样实现
本来想自己从网上找找的但是搜索引擎也不喜欢${}啊
答
用java.util.regex.Pattern的quote()方法来把你要替换的字符串先整体转义一下就好,像这样:
[code="java"]import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) {
String s = "select top ${fetchNum} * from tbl";
String escaped = Pattern.quote("${fetchNum}"); //=> "\Q${fetchNum}\E"
String replaced = s.replaceAll(escaped, "123");
}
}[/code]