我想为 Java 创建一个 Guava Splitter,它可以将 Java 字符串作为一个块处理。例如,我希望以下断言为真:

@Test
public void testSplitter() {
  String toSplit = "a,b,\"c,d\\\"\",e";
  List<String> expected = ImmutableList.of("a", "b", "c,d\"","e");

  Splitter splitter = Splitter.onPattern(...);
  List<String> actual = ImmutableList.copyOf(splitter.split(toSplit));

  assertEquals(expected, actual);
}

我可以编写正则表达式来查找所有元素并且不考虑 ',' 但我找不到可以作为分隔符与拆分器一起使用的正则表达式。

如果不可能,请直说,然后我将根据 findAll 正则表达式构建列表。

最佳答案

这似乎是您应该使用 opencsv 之类的 CSV 库的内容。分隔值和处理引用块之类的情况就是它们的全部内容。

关于java - 创建一个支持字符串的 Guava Splitter,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5746230/

10-09 01:40