我意外地回答了一个question,其中原始问题涉及将句子拆分为单独的单词。
作者使用suggested to use BreakIterator来标记化输入字符串,一些人喜欢这个想法。
我就是不明白: 25行复杂的代码怎么会比使用regexp的简单一行代码更好呢?
请给我解释一下使用BreakIterator的好处,以及应该使用它的实际案例。
如果它真的那么酷和合适,那么我想知道:你真的在你的项目中使用了BreakIterator的方法吗?
发布于 2010-12-19 19:02:44
从发布在答案中的代码来看,BreakIterator似乎考虑到了文本的语言和区域设置。通过正则表达式获得这种级别的支持肯定是相当痛苦的。也许这就是它比简单的正则表达式更受欢迎的主要原因?
发布于 2010-12-19 18:56:21
BreakIterator提供了一些很好的显式控制,并以嵌套的方式在每个句子和单词上干净地迭代。我不太熟悉指定语言环境到底能为你做些什么,但我相信它有时也会很有帮助。
这对我来说一点也不复杂。只需为句子级别设置一个迭代器,为单词级别设置另一个迭代器,将单词one嵌套在第二个迭代器中。
如果问题变成了不同的东西,你在另一个问题上的解决方案可能已经被抛在了窗外。但是,遍历句子和单词模式可以做很多事情。
清单还在继续..。
https://stackoverflow.com/questions/4482469
复制相似问题