温馨提示×

温馨提示×

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

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

java String 怎么分割字符串

发布时间:2026-10-05 22:17:22 来源:亿速云 阅读:89 作者:小樊 栏目:编程语言

在 Java 中,分割字符串最常用的方法是 String.split(),此外还有 StringTokenizer、Pattern、以及手动 substring 等方式。下面按常见场景说明。


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

1️⃣ 按普通字符分割

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

2️⃣ 按多个字符分割

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

3️⃣ 限制分割次数

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

4️⃣ 使用正则表达式

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

⚠️ 注意:

  • . | * + \ 等是正则特殊字符,需要转义
str.split("\\."); // 按点分割

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

适合复杂分割或性能要求高的场景:

import java.util.regex.*;

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

三、使用 StringTokenizer(老方式,不推荐)

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

✅ 线程安全
❌ 功能不如 split 灵活(不支持正则)


四、按固定长度分割(substring)

String str = "12345678";
int len = 2;
for (int i = 0; i < str.length(); i += len) {
    System.out.println(str.substring(i, Math.min(i + len, str.length())));
}

五、常见问题

❓ 分割后为空字符串?

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

❓ 末尾空字符串被丢弃?

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

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

六、总结建议

场景 推荐方式
普通分割 String.split()
正则分割 Pattern.split()
老代码 StringTokenizer
固定长度 substring

如果你有具体字符串例子(比如带空格、JSON、日志),可以直接发出来,我可以帮你写完整代码。

向AI问一下细节

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

AI
助
手