番石榴分离器的模式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了番石榴分离器的模式相关的知识,希望对你有一定的参考价值。

我需要用逗号或点或反斜杠分割String:

Pattern stringPattern = Pattern.compile("\s+|,|\\|");
Splitter.on(stringPattern).omitEmptyStrings().split(description));

但这种模式不起作用,有什么不对?

答案

逗号或点或反斜杠的正确正则表达式是[.,\],所以在Java中就是这样

Pattern.compile("[.,\\]")

我确实喜欢Olivier对CharMatcher的建议。

另一答案

为什么不使用CharMatcher

Splitter.on(CharMatcher.anyOf(",.\")).omitEmptyStrings().split(description);

鉴于你的简单问题,我认为你不需要正则表达式。

另一答案

我将string.split与正则表达式一起使用。以下应该工作(我还没试过)

 description.split(",.\")

然后进行空检查(因为这样的分离器具有相同的额外api)。

模式对于识别“组”很有用。任何与正则表达式相关的拆分都可以用字符串(而不是模式)来完成 - 这不是为了阻止使用Guava!

以上是关于番石榴分离器的模式的主要内容,如果未能解决你的问题,请参考以下文章

不立即分离片段

为啥我不能从 FragmentPagerAdapter 分离片段?

使用随机访问文件的番石榴多图?

将excel表格导入番石榴表

在分离的片段中获取上下文/活动?

android如何跨片段分离/附加保留视图状态