我想創建一個可以將Java字符串作爲一個塊處理的Java Guava Splitter。舉例來說,我想下面的說法是正確的:創建一個字符串功能的Guava Splitter
@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正則表達式構建列表。
我+1了您的答案,因爲它(幾乎)正是我想要使用我想要的工具,但爲了可讀性,我採取了ColinD的答案。無論如何,非常非常好的東西! – 2011-04-21 22:26:27
@ogregoire,我完全同意。我主要張貼它來展示你最終會得到一個可怕的正則表達式:這樣一個野獸不應該在野外放出!:) – 2011-04-22 06:24:41