学习如何在Java中使用简单易懂的示例来拆分CSV(逗号分隔值),并将标记存储在数组或列表中。

1.使用正则表达式拆分CSV

我们可以使用正则表达式"\s*,\s*"来匹配CSV字符串中的逗号,然后使用String.split()方法将字符串转换为标记数组。

String blogName = "how, to, do, in, java"; String[] tokenArray = blogName.split("\s*,\s*"); Assertions.assertArrayEquals(new String[]{"how", "to", "do", "in", "java"}, tokenArray); 

请注意,正则表达式会处理字符串中多余的不需要的空格,并只对正确的字符串进行标记化。在下面的示例中,请注意逗号之间不需要的多个空格。

Assertions.assertArrayEquals(new String[]{"a", "b", "c"}, "a, b,c".split("\s*,\s*")); Assertions.assertArrayEquals(new String[]{"a", "b", "c"}, "a, b, c".split("\s*,\s*")); 

2.将数组转换为列表

要获取标记的列表,我们可以将数组传递给Arrays.asList()方法,该方法返回一个由数组支持的固定大小、不可修改且只读的列表。

String[] tokenArray = blogName.split("\s*,\s*"); List<String> tokenList = Arrays.asList(tokenArray); 

要获取可变的ArrayList,将从上述示例中接收到的只读列表中的所有元素复制到一个新的ArrayList对象中。

ArrayList<String> tokenArrayList = new ArrayList(Arrays.asList(tokenArray)); 

3.将列表转换为CSV字符串

如果我们想将列表转换为CSV格式的字符串,可以使用Java 8提供的String.join()方法

List<String> list = Arrays.asList("how", "to", "do", "in", "java"); String result = String.join(",", list); //delimited by comma Assertions.assertEquals("how,to,do,in,java", result); 

上述示例将有助于在Java中将CSV转换为列表以及将列表转换为CSV。