温馨提示×

温馨提示×

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

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

java String 如何分割字符串

发布时间:2026-09-15 07:19:19 来源:亿速云 阅读:106 作者:小樊 栏目:编程语言

在 Java 中,String 类提供了多种方式来分割字符串,最常用的是 split() 方法,此外还有 StringTokenizer、Pattern 等方式。下面按常见场景说明:


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

1️⃣ 按普通字符分割

String str = "a,b,c,d";
String[] arr = str.split(",");
// [a, b, c, d]

2️⃣ 按多个字符分割

String str = "a,b;c d";
String[] arr = str.split("[,; ]");
// [a, b, c, d]

3️⃣ 使用正则表达式

String str = "a1b2c3";
String[] arr = str.split("\\d"); // 按数字分割
// [a, b, c]

4️⃣ 限制分割次数

String str = "a,b,c,d";
String[] arr = str.split(",", 2);
// [a, b,c,d]

二、特殊字符需要注意(正则含义)

split() 的参数是正则表达式,以下字符需要转义:

字符 写法
. \\.
` `
\ \\\\
* \\*

示例:

String str = "a.b.c";
String[] arr = str.split("\\.");

三、使用 StringTokenizer(旧方式)

String str = "a,b,c";
StringTokenizer st = new StringTokenizer(str, ",");
while (st.hasMoreTokens()) {
    System.out.println(st.nextToken());
}

⚠️ 不推荐新代码使用,功能不如 split() 灵活。


四、使用 Pattern + Matcher(复杂分割)

Pattern p = Pattern.compile(",");
String[] arr = p.split("a,b,c");

适合重复使用正则的场景。


五、按行分割

String str = "line1\nline2\nline3";
String[] lines = str.split("\\R"); // 适配不同系统换行

六、常见坑点

❌ 空字符串结尾会被丢弃

"a,b,".split(",")
// [a, b]

✅ 保留空值

"a,b,".split(",", -1)
// [a, b, ""]

如果你有具体字符串示例(比如日志、CSV、URL 参数),我可以直接帮你写分割代码。

向AI问一下细节

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

AI
助
手