如何在 Java 中将字符串拆分成数组
Hassan Saeed
2023年1月30日
2020年10月27日
本教程讨论了在 Java 中将字符串分割为数组的方法。
假设我们有一个逗号分隔的字符串 John, 23, $4500
。我们需要根据逗号拆分数据,并将其存储在像这样的数组中:["John", '23', "$4500"]
。这时 split()
方法就派上用场了。
Java 中使用 split(delimiter)
将字符串拆分为数组
我们需要传递定界符,根据定界符来分割字符串。split()
方法会在每一个定界符出现时将字符串拆分,并将每个值存储在数组中。下面的例子说明了这一点。
public class MyClass {
public static void main(String args[]) {
String data = "1,2,3,,5,6,,";
String[] split = data.split(",");
for (int i=0; i<split.length; i++)
System.out.println(split[i]);
System.out.println("Done");
}
}
输出:
1
2
3
5
6
虽然我们在最后有两个空字符串,但生成的数组并不包含最后两个空字符串。这是因为 split()
的默认行为从结果数组中删除了所有尾部的空字符串。
Java 中使用 split(regex, limit)
将字符串拆分为一个数组并保留尾部的空字符串
我们可以通过向 split()
函数传递一个额外的参数来覆盖这种行为:split(regex, limit)
。传递一个负的 limit
将确保 regex 模式被尽可能多地应用,从而包括所有分割后的空字符串。
下面的例子说明了这一点。
public class MyClass {
public static void main(String args[]) {
String data = "1,2,3,,5,6,,";
String[] split = data.split(",", -1);
for (int i=0; i<split.length; i++)
System.out.println(split[i]);
System.out.println("Done");
}
}
输出:
1
2
3
5
6
Done
我们可以看到,现在它已经打印了最后两个尾部的空字符串。