将java字符串分解为所有单词的数组和所有可能的连续两个单词组合

时间:2014-08-13 22:43:22

标签: java string

我需要取一个句子字符串并将其分解为一个数组,其中包含字符串中的每个单词以及连续单词的每个组合。 所以“狗跑得快”将变成

the
dog
runs
fast
the dog
dog runs
runs fast

我知道我可以使用String.split(“\ s”)获得一个单词标记,并且可以通过迭代字符串并一次添加一个来轻松获得两个单词标记,但我正在使用很多字符串都很长,这个方法太慢了。是否有某种内置或正则表达式解决方案?感谢

1 个答案:

答案 0 :(得分:1)

StringTokenizer比String.split()快得多,请参阅下面的比较:

http://demeranville.com/battle-of-the-tokenizers-delimited-text-parser-performance/

您可以看到它如何改善您的整体表现。无论如何,拆分所有单词并从长文本构建2-gram将花费一些时间。