452. Java 正则表达式 - 文本替换 文章目录452. Java 正则表达式 - 文本替换1️⃣ replaceFirst() 和 replaceAll()功能示例 1替换单词 dog 为 cat示例 2使用正则表达式替换2️⃣ appendReplacement() 和 appendTail()功能示例3️⃣ String 类中的替换方法示例✅ 小结452. Java 正则表达式 - 文本替换在正则表达式处理中文本替换是非常常见的操作。Java 提供了多种方式完成替换从简单的替换到更灵活的逐步替换。1️⃣replaceFirst()和replaceAll()功能replaceFirst()只替换匹配到的第一个子串replaceAll()替换匹配到的所有子串示例 1替换单词dog为catimportjava.util.regex.Pattern;importjava.util.regex.Matcher;publicclassReplaceDemo{privatestaticStringREGEXdog;privatestaticStringINPUTThe dog says meow. All dogs say meow.;privatestaticStringREPLACEcat;publicstaticvoidmain(String[]args){PatternpPattern.compile(REGEX);Matchermp.matcher(INPUT);// 替换所有匹配INPUTm.replaceAll(REPLACE);System.out.println(INPUT);}}输出结果Thecat saysmeow.Allcats say meow.说明dog被替换为cat如果只想替换第一个匹配调用replaceFirst(REPLACE)即可。示例 2使用正则表达式替换importjava.util.regex.Pattern;importjava.util.regex.Matcher;publicclassReplaceDemo2{privatestaticStringREGEXa*b;privatestaticStringINPUTaabfooaabfooabfoob;privatestaticStringREPLACE-;publicstaticvoidmain(String[]args){PatternpPattern.compile(REGEX);Matchermp.matcher(INPUT);INPUTm.replaceAll(REPLACE);System.out.println(INPUT);}}输出结果-foo-foo-foo-说明a*b匹配零个或多个 a 后跟一个 b的模式可以看到复杂模式同样可以直接替换2️⃣appendReplacement()和appendTail()功能提供更灵活的替换控制可逐个处理匹配与replaceAll()效果相同但可在替换过程中进行逻辑处理示例importjava.util.regex.Pattern;importjava.util.regex.Matcher;publicclassRegexDemo{privatestaticStringREGEXa*b;privatestaticStringINPUTaabfooaabfooabfoob;privatestaticStringREPLACE-;publicstaticvoidmain(String[]args){PatternpPattern.compile(REGEX);Matchermp.matcher(INPUT);StringBuffersbnewStringBuffer();while(m.find()){// 逐个替换匹配m.appendReplacement(sb,REPLACE);}// 将剩余文本追加到 sbm.appendTail(sb);System.out.println(sb.toString());}}输出结果-foo-foo-foo-说明appendReplacement可以在每次匹配时动态生成替换内容appendTail用于追加最后剩余的文本3️⃣String类中的替换方法JavaString类提供了和Matcher类等效的方法使用更简单方法功能replaceFirst(String regex, String replacement)替换第一个匹配子串replaceAll(String regex, String replacement)替换所有匹配子串示例Stringinputaabfooaabfooabfoob;Stringresultinput.replaceAll(a*b,-);System.out.println(result);// 输出: -foo-foo-foo-说明内部实现原理与Pattern.compile(regex).matcher(str).replaceAll()相同适合快速处理简单替换场景✅ 小结replaceFirst()/replaceAll()→快速替换支持正则表达式appendReplacement()/appendTail()→灵活控制每个匹配可在替换过程中加入逻辑String.replaceFirst()/String.replaceAll()→方便快捷无需创建Pattern/Matcher

相关新闻

最新新闻

超声波雷达量产常见故障复盘与软硬件优化方案|ADAS硬件实战终篇

超声波雷达量产常见故障复盘与软硬件优化方案|ADAS硬件实战终篇

摘要:作为车载超声波雷达系列收官篇,本文聚焦研发试产、批量量产、整车耐久测试中出现的高频顽疾:高低温误报、灵敏度漂移、近距离盲区异常、批次一致性差、淋雨抖动、低速串扰等问题。全部故障均提供根因定位硬件整改软件算法优化量产管控方…

2026/8/25 15:24:46
04-01-哈希-Hash原理-期望O1查找与退化边界

04-01-哈希-Hash原理-期望O1查找与退化边界

Hash 原理:哈希表为什么能做到期望 O(1) 查找系列:C# 与常用数据结构源码剖析 哈希与映射篇 阅读时间:约 60 分钟 前置知识:数组、链表、模运算、渐近复杂度 版本边界:前半部分讲数学与公共契约;.NET 例证…

2026/8/25 15:24:46
传统关系型数据库以结构化数据为主要存储对象,有完善的事务处理机制、SQL查询引擎,理论基础完备

传统关系型数据库以结构化数据为主要存储对象,有完善的事务处理机制、SQL查询引擎,理论基础完备

NoSQL术语的起源相关信息,具体内容可以分为以下几个部分: 一、NoSQL术语的起源信息 术语名称:图中核心标注的术语为NoSQL,这一概念最早由Carlo Strozzi(卡罗斯特罗齐)在1998年提出,当时他是在自…

2026/8/25 15:24:46
机场净空与无人机反制:低空安全防护体系方案

机场净空与无人机反制:低空安全防护体系方案

机场净空保护不仅涉及跑道、进近面和起飞离场面的空间管理,还包含飞鸟、无人机、人员误入、障碍物施工和低空移动目标等多重风险。瀚泰机械将超长航时巡检无人机、反制探测设备、AI视频监控、巡检机器人与防爆机器人组合成“探测—识别—预警—处置—复盘”的低空安…

2026/8/25 15:24:46
机器人破人类百米纪录:四足机器人的运动控制与工业落地

机器人破人类百米纪录:四足机器人的运动控制与工业落地

2026年,机器人再次刷新公众对运动能力的认知:一台四足机器人以10米/秒级别的速度完成百米冲刺,将“机器人破人类百米纪录”从实验室话题推向工程现实。对政企采购决策者而言,真正值得关注的不是单次赛跑成绩,而是这类高…

2026/8/25 15:24:46
如何让真火壁炉发挥最佳热量输出效果

如何让真火壁炉发挥最佳热量输出效果

很多家庭安装真火壁炉之后会遇到一个困惑:火光看着很漂亮,但房间升温慢、费木柴,热量好像都顺着烟囱跑出去。其实壁炉取暖效果好不好,不完全取决于炉子本身,燃料、风门调节、填柴方式、烟道维护,每一步都会…

2026/8/25 15:19:46