java中如何拆分
字符串拆分
使用String.split()方法拆分字符串,参数可以是正则表达式或固定字符串。例如按空格拆分:
String str = "Hello World";
String[] parts = str.split(" ");
按正则表达式拆分,例如按逗号或分号:
String str = "A,B;C";
String[] parts = str.split("[,;]");
限制拆分次数
split()方法可以传入第二个参数限制拆分次数:
String str = "one:two:three:four";
String[] parts = str.split(":", 2); // ["one", "two:three:four"]
使用Pattern和Matcher拆分
对于复杂拆分需求,可以使用正则表达式工具类:
Pattern pattern = Pattern.compile("\\d+");
Matcher matcher = pattern.matcher("a1b22c333");
while(matcher.find()) {
System.out.println(matcher.group());
}
使用StringTokenizer拆分
虽然较老但仍可用的方法:
StringTokenizer st = new StringTokenizer("Hello World");
while(st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
按固定长度拆分
将字符串按固定长度分割:
String str = "abcdefgh";
int chunkSize = 3;
for(int i=0; i<str.length(); i+=chunkSize) {
System.out.println(str.substring(i, Math.min(str.length(), i+chunkSize)));
}
使用Guava库拆分
Google Guava库提供更丰富的拆分方法:
Iterable<String> result = Splitter.on(',')
.trimResults()
.omitEmptyStrings()
.split("foo,bar,, qux");
使用Apache Commons拆分
Apache Commons Lang提供StringUtils工具类:

String[] parts = StringUtils.split("hello world");
String[] separated = StringUtils.splitByCharacterType("ab123cd");






