• <正则吃饺子> :关于 Matcher 的 replaceAll 的简单使用


    在线文档地址http://tool.oschina.net/apidocs/apidoc?api=jdk-zh

    replaceAll

    public String replaceAll(String replacement)
    替换模式与给定替换字符串相匹配的输入序列的每个子序列。

    此方法首先重置匹配器。然后,它将扫描输入序列以查找该模式的匹配项。不属于任何匹配的字符被直接添加到结果字符串;在结果中每个匹配都将被替换字符串所替换。替换字符串可能包含到已捕获子序列的引用,如在 appendReplacement 方法中一样。

    注意,在替换字符串中使用反斜线 () 和美元符号 ($) 可能导致与作为字面值替换字符串时所产生的结果不同。美元符号可视为到如上所述已捕获子序列的引用,反斜线可用于转义替换字符串中的字面值字符。

    在给定正则表达式 a*b、输入 "aabfooaabfooabfoob" 和替换字符串 "-" 的情况下,为该表达式针对匹配器调用此方法将产生字符串 "-foo-foo-foo-"

    调用此方法将更改此匹配器的状态。如果在将来的匹配操作中使用该匹配器,则应该首先重置它。

    参数:
    replacement - 替换字符串。
    返回:
    通过使用替换字符串替换每个匹配子序列,并在需要时取代已捕获子序列所构造的字符串。
    public void test2() {
        String a = "电信20元";
        String regEx = "[^0-9]";
        Pattern p = Pattern.compile(regEx);
        Matcher m = p.matcher(a);
        System.out.println(m.replaceAll("-"));
            
        //打印结果 :  --20-
    }

    :只保留了原字符串中匹配正则部分的 + 需要替换为新的字符的部分,如上例中的  --20-   ,与之对应。

  • 相关阅读:
    刷题柱 -- 暂封
    模板重搭建計劃
    思路与好题记录与小技巧
    错误记录
    随便记点东西……
    图床
    杂碎的小技巧
    hnsdfz -- 6.21 -- day7
    hsdf -- 6.21 -- day6
    hnsdfz -- 6.20 -- day5
  • 原文地址:https://www.cnblogs.com/zhengzeze/p/7379749.html
Copyright © 2020-2023  润新知