iteye_14864 2009-03-03 19:17
浏览 472
已采纳

求 String.replaceAll 特殊字符处理方法

有一字符串
select top ${fetchNum} * from tbl
想把其中的${fetchNum}替换成需要的数值,用replaceAll怎样实现

本来想自己从网上找找的但是搜索引擎也不喜欢${}啊

  • 写回答

1条回答 默认 最新

  • rednaxelafx 2009-03-03 19:29
    关注

    用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]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?