Java 通过正则表达式替换字符串

Java 通过正则表达式替换字符串简介java中提供了两个类来支持正则表达式的操作,分别是java.util.regex下的Pattern类和Matcher类依据Pattern对象做为匹配模式对字符串展开匹配检查,然后Matcher实例在给定的Pattern实例的模式控制下进行字符串的匹配,在实际的开发中,为了方便我们很少直接使用Pattern类或Matcher类,而是使用String类下的方法进行替换。…

大家好,又见面了,我是你们的朋友全栈君。

简介

    java中提供了两个类来支持正则表达式的操作,分别是java.util.regex下的Pattern类和Matcher类
 依据Pattern对象做为匹配模式对字符串展开匹配检查,然后Matcher实例在给定的Pattern实例的模式控制下进行字符串的
 匹配,在实际的开发中,为了方便我们很少直接使用Pattern类或Matcher类,而是使用String类下的方法进行替换。
 
 Pattern类的构造方法是私有的,所以我们使用Pattern p = Pattern.compile("a*b");进行实例化
 Matcher类的实例化依赖Pattern类的对象Matcher m = p.matcher("aaaaab");

下面是正则表达式的替换简单使用

/** * 正则表达式字符串替换 * @param content 字符串 * @param pattern 正则表达式 * @param newString 新的替换字符串 * @return 返回替换后的字符串 */
 public String regReplace(String content,String pattern,String newString){ 
   
     Pattern p = Pattern.compile(pattern);
     Matcher m = p.matcher(content);
     String result = m.replaceAll(newString);
     return result;
 }

下面是正则表达式分组的替换使用

public String regReplaceImage(String content){ 
   
        String pattern="<img\\s*([^>]*)\\s*src=\\\"(http://.*?/)(.*?)\\\"\\s*([^>]*)>";
        StringBuffer operatorStr=new StringBuffer(content);
        Pattern p = Pattern.compile(pattern,Pattern.CASE_INSENSITIVE);
        Matcher m = p.matcher(content);
        while(m.find()) { 
   
            //使用分组进行替换
            operatorStr.replace(m.start(2),m.end(2),"/");
            m = p.matcher(operatorStr);
        }
        return operatorStr.toString();
    }

说明在这里插入图片描述 将红框内的表达式内容替换为”/”

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145762.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 复变函数—–区域「建议收藏」

    复变函数—–区域「建议收藏」邻域、去心邻域平面上以Z0为中心,δ(任意的正数)为半径的圆:|Z-Z0|<δ内部的点的集合称为Z0的邻域,而称由不等式0<|Z-Z0|<δ所确定的点集为Z0的去心邻域。内点、开集设G为一平面点集,Z0为G中任意一点,如果存在Z0的一个邻域,该邻域内的所有点都属于G,那么称Z0为G的内点。如果G内的每个点都是它的内点,那么称G为开集。区域平面点集D称为一个区域,如果满足下列两个条件:1.D是一个开集;2.D是连通的,就是说D中任何两点都可以用完全属于D的一条折线连

    2022年7月15日
    26
  • ZOJ 3794 Greedy Driver spfa

    ZOJ 3794 Greedy Driver spfa

    2021年12月4日
    42
  • phpstorm2021.12激活【最新永久激活】

    (phpstorm2021.12激活)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html0BXA05X8YC-eyJsa…

    2022年3月30日
    122
  • java 设置随机数种子_java随机数种子怎么设置[通俗易懂]

    java 设置随机数种子_java随机数种子怎么设置[通俗易懂]java随机数种子怎么设置引导语:Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。以下是小编整理的java随机数种子怎么设置,欢迎参考阅读!java设置随机数种子教程:一、在j2se里我们可以使用Math.random()方法来产生一个随机数,这个产生的随机数是0-1之间的一个dou…

    2022年7月14日
    22
  • easyboot的一个严重不足[通俗易懂]

    easyboot的一个严重不足[通俗易懂]国产的好软件工具不多,easyboot就是其中一个,凡事贵在持之以恒,easyboot能坚持下来,并且功能越来越多,越来越强,实在可嘉.但我在使用easyboot中遭遇一个严重的不足,那就是easyboot不支持长文件路径,easyboot好象最大只支持到128个字符,而windows是可以支持255个字符的,在使用easyboot制做xpsp3pe过程中,esaybo

    2022年7月15日
    16
  • 2020职称计算机题库和答案,2020职称计算机考试PowerPoint习题及答案1

    2020职称计算机题库和答案,2020职称计算机考试PowerPoint习题及答案1

    2021年11月28日
    55

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号