Java 中使用正则表达式分割 CSV 字符串

IT 文章2年前 (2023)发布 小编
0 0 0

学习如何在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);

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

ad

程序员导航

优网导航旗下整合全网优质开发资源,一站式IT编程学习与工具大全网站

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。

ad

AI 工具导航

优网导航旗下AI工具导航,精选全球千款优质 AI 工具集

© 版权声明

相关文章

暂无评论

暂无评论...