温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎样用正则替换java字符串

发布时间:2026-09-14 06:08:29 来源:亿速云 阅读:99 作者:小樊 栏目:编程语言

在 Java 里,使用正则替换字符串通常有两种常见方式:


一、使用 String.replaceAll(最常用)

基本用法

String result = str.replaceAll("正则表达式", "替换内容");

示例 1:把数字替换成 #

String s = "abc123def456";
String r = s.replaceAll("\\d+", "#");
System.out.println(r); // abc#def#

示例 2:去掉所有空白字符

String s = "a b\tc\nd";
String r = s.replaceAll("\\s+", "");
System.out.println(r); // abcd

二、使用 Pattern + Matcher(更灵活)

适合 复杂替换、回调替换、分组替换

import java.util.regex.*;

String s = "age:18, score:90";
Pattern p = Pattern.compile("(\\d+)");
Matcher m = p.matcher(s);

StringBuffer sb = new StringBuffer();
while (m.find()) {
    m.appendReplacement(sb, "[" + m.group(1) + "]");
}
m.appendTail(sb);

System.out.println(sb.toString());
// age:[18], score:[90]

三、常见正则替换技巧

1️⃣ 分组替换(保留部分内容)

String s = "2024-01-02";
String r = s.replaceAll("(\\d{4})-(\\d{2})-(\\d{2})", "$2/$3/$1");
System.out.println(r); // 01/02/2024

2️⃣ 转义特殊字符

String s = "a.b.c";
String r = s.replaceAll("\\.", "-");
System.out.println(r); // a-b-c

3️⃣ 使用 replaceFirst(只替换第一个)

String s = "aaabbb";
String r = s.replaceFirst("a+", "X");
System.out.println(r); // Xbbb

四、注意事项(非常重要)

✅ Java 正则字符串中要写双反斜杠

"\\d"  // 表示数字

✅ replaceAll 用的是 正则表达式

"a.b".replaceAll(".", "#") // 会把所有字符替换掉

✅ 如果只是普通字符替换,用:

str.replace("old", "new");

如果你有具体替换场景(比如日志、JSON、手机号、SQL 等),可以直接贴例子,我可以帮你写正则。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手