Matcher中appendReplacement()方法与replaceAll()方法的联系
https://blog.csdn.net/mjlfto/article/details/53896981
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | package com.mjlf.myBatis.accessControl.regex; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * Created by a123 on 16/12/27. */ public class Test { public static void main(String[] args){ Pattern p = Pattern.compile( "java" ); Matcher m = p.matcher( "The java book is java program book c" ); StringBuffer sb = new StringBuffer(); if (m.find()){ m.appendReplacement(sb, "python" ); } System. out .println(sb); if (m.find()){ m.appendReplacement(sb, "python" ); } System. out .println(sb); if (m.find()){ m.appendReplacement(sb, "python" ); } System. out .println(sb); System. out .println(m.replaceAll( "c++" )); } } /** The python The python book is python The python book is python The c++ book is c++ program book c */ |
replace all:
public String replaceAll(String replacement) { reset(); boolean result = find(); if (result) { StringBuffer sb = new StringBuffer(); do { appendReplacement(sb, replacement); result = find(); } while (result); appendTail(sb); return sb.toString(); } return text.toString(); }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· PPT革命!DeepSeek+Kimi=N小时工作5分钟完成?
· What?废柴, 还在本地部署DeepSeek吗?Are you kidding?
· DeepSeek企业级部署实战指南:从服务器选型到Dify私有化落地
· 程序员转型AI:行业分析