我不小心回答了question,其中原始问题涉及将句子分成单独的单词。
作者suggested to use BreakIterator
标记输入字符串,有些人喜欢这个想法。
我只是没有那么疯狂:25行复杂代码如何比带有regexp的简单单行程更好?
请解释一下使用BreakIterator的优点以及应该使用它的真实案例。
如果它非常酷,那么我想知道:你真的在项目中使用BreakIterator
的方法吗?
答案 0 :(得分:3)
通过查看该答案中发布的代码,BreakIterator
看起来考虑了文本的语言和区域设置。通过正则表达式获得这种级别的支持肯定会是一个相当大的痛苦。也许这是它比简单的正则表达式更受欢迎的主要原因?
答案 1 :(得分:2)
BreakIterator
提供了一些很好的显式控制,并以嵌套的方式在每个句子和单词上干净地迭代。我并不熟悉指定语言环境的确切内容,但我确信它有时也非常有用。
它并没有让我感到复杂。只需为句子级别设置一个迭代器,为单词级别设置另一个迭代器,将第一个字体嵌入第二个中。
如果问题变成了不同的问题,那么你在另一个问题上遇到的解决方案可能就在窗外了。但是,通过句子和单词迭代的模式可以做很多事情。
列表继续......