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

培训教学 潘老师 8个月前 (09-09) 168 ℃ (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);

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

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。


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/teach/8935.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】