java如何分割
字符串分割方法
在Java中,字符串分割主要通过String类的split()方法实现。该方法基于正则表达式匹配进行分割,返回分割后的字符串数组。
String str = "apple,banana,orange";
String[] fruits = str.split(",");
split()方法支持正则表达式,例如按多个分隔符分割:
String str = "apple banana,orange";
String[] fruits = str.split("[ ,]");
限制分割次数
split()方法可以接受第二个参数,限制分割次数:
String str = "one:two:three:four";
String[] parts = str.split(":", 2); // 结果: ["one", "two:three:four"]
使用Pattern类分割
对于复杂分割需求,可以使用Pattern类:

import java.util.regex.Pattern;
String str = "apple1banana2orange3";
Pattern pattern = Pattern.compile("\\d");
String[] fruits = pattern.split(str);
处理特殊字符
分割包含正则表达式元字符的字符串时需要进行转义:
String str = "apple.banana.orange";
String[] fruits = str.split("\\.");
使用StringTokenizer类
虽然较旧,但StringTokenizer仍可用于简单分割:

import java.util.StringTokenizer;
String str = "apple,banana,orange";
StringTokenizer tokenizer = new StringTokenizer(str, ",");
while(tokenizer.hasMoreTokens()) {
System.out.println(tokenizer.nextToken());
}
分割并去除空字符串
使用正则表达式可以过滤分割结果中的空字符串:
String str = "apple,,banana,,orange";
String[] fruits = str.split(",", -1); // 保留空字符串
String[] nonEmptyFruits = str.split(",+"); // 去除连续分隔符产生的空字符串
按换行符分割
处理多行文本时,需要考虑不同操作系统的换行符差异:
String text = "line1\nline2\r\nline3";
String[] lines = text.split("\\r?\\n");
性能考虑
对于大量分割操作,预编译正则表达式可以提高性能:
import java.util.regex.Pattern;
Pattern pattern = Pattern.compile(",");
String[] fruits = pattern.split("apple,banana,orange");






