📅  最后修改于: 2023-12-03 15:15:55.568000             🧑  作者: Mango
在Java中,我们有时候需要将一个字符串按照逗号拆分成多个子字符串。这个过程非常常见,比如说我们要处理CSV文件中每个单元格的内容。在这篇文章中,我们将介绍如何使用Java来将一个字符串按照逗号拆分成多个子字符串。
Java中String类自带了一个split()
方法,可以实现按照某个字符或字符串来将一个字符串拆分成多个子字符串。我们可以利用这个方法来拆分逗号分隔的字符串。
String str = "Java,Break,String,at,Comma";
String[] arrOfStr = str.split(",");
for (String a : arrOfStr)
System.out.println(a);
输出结果为:
Java
Break
String
at
Comma
在上面的代码中,我们使用逗号作为拆分字符,将字符串str
拆分成了多个子字符串,并将它们存储在一个数组中。然后我们可以遍历这个数组来输出每个子字符串。
当使用逗号作为拆分字符时,有可能会出现相邻两个逗号之间没有内容的情况。这种情况下,split()
方法会返回一个空字符串。我们可以通过传递一个正则表达式来在拆分时跳过这些空字符串。
String str = "Java,Break,,String,at,,Comma";
String[] arrOfStr = str.split(",", -1);
for (String a : arrOfStr)
System.out.println(a);
输出结果为:
Java
Break
String
at
Comma
在上面的代码中,我们传递了一个-1
作为split()
方法的第二个参数。这样做可以保留空字符串。
Java中的Scanner类也可以实现按照某个字符拆分字符串的功能。我们可以先将字符串包装成一个Scanner对象,然后调用useDelimiter()
方法将逗号设置为分隔符。
String str = "Java,Break,String,at,Comma";
Scanner scanner = new Scanner(str);
scanner.useDelimiter(",");
while (scanner.hasNext()) {
System.out.println(scanner.next());
}
scanner.close();
输出结果为:
Java
Break
String
at
Comma
在上面的代码中,我们使用了Scanner
类的useDelimiter()
方法将逗号设置为分隔符,然后使用while
循环和hasNext()
方法遍历每一个子字符串。
Apache Commons是一个经典的Java类库,提供了许多实用的方法和工具类。其中就包括了一个可以按照逗号拆分字符串的工具类。
在使用之前,我们需要先从Apache官网中下载commons-lang3
库,并将其添加到项目中。
String str = "Java,Break,String,at,Comma";
String[] arrOfStr = StringUtils.split(str, ",");
for (String a : arrOfStr)
System.out.println(a);
输出结果为:
Java
Break
String
at
Comma
在上面的代码中,我们使用StringUtils
类的split()
方法来将字符串按照逗号拆分成多个子字符串。
本文介绍了几种在Java中将字符串按照逗号拆分成多个子字符串的方法,包括使用String
类自带的split()
方法、Scanner类、以及Apache Commons库。这些方法都可以满足我们的需求,我们可以根据实际情况选择合适的方法。