您可以使用 String.split() 函数或 StringTokenizer 类在 Java 中拆分逗号分隔的字符串。
import java.util.Arrays;
public class Main
{
public static void main(String[] args)
{
String CSV = "Google,Apple,Microsoft";
String[] values = CSV.split(",");
System.out.println(Arrays.toString(values));
}
}
Output :[Google, Apple, Microsoft]
您还可以通过拆分逗号分隔的字符串来创建 ArrayList,如下所示:
ArrayList list = new ArrayList(Arrays.asList(values)
如果您的逗号分隔的字符串还包含值之间的空格,那么您可以使用以下正则表达式来拆分 CSV 字符串以及从各个值中删除前导和尾随空格。
String CSV = "Google, Apple, Microsoft";
String[] values = CSV.split("\\s*,\\s*");
System.out.println(Arrays.toString(values));
这 \\s*
是查找零个或多个空间的正则表达式。
\s 是查找包括制表符在内的空格的元字符,因为 \(正斜杠)在 Java 中需要转义,所以它变为 \(双斜杠)而 \s 变为 \s。现在来到 *
(星号或星号),它是正则表达式中的另一个特殊字符,表示任意次数。所以 \\s*表示任意次数的空间。