在 Java 中,String 类提供了多种方式来分割字符串,最常用的是 split() 方法,此外还有 StringTokenizer、Pattern 等方式。下面按常见场景说明:
String.split()(最常用)String str = "a,b,c,d";
String[] arr = str.split(",");
// [a, b, c, d]
String str = "a,b;c d";
String[] arr = str.split("[,; ]");
// [a, b, c, d]
String str = "a1b2c3";
String[] arr = str.split("\\d"); // 按数字分割
// [a, b, c]
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 参数),我可以直接帮你写分割代码。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。