我需要取一个句子字符串并将其分解为一个数组,其中包含字符串中的每个单词以及连续单词的每个组合。 所以“狗跑得快”将变成
the
dog
runs
fast
the dog
dog runs
runs fast
我知道我可以使用String.split(“\ s”)获得一个单词标记,并且可以通过迭代字符串并一次添加一个来轻松获得两个单词标记,但我正在使用很多字符串都很长,这个方法太慢了。是否有某种内置或正则表达式解决方案?感谢
答案 0 :(得分:1)
StringTokenizer比String.split()快得多,请参阅下面的比较:
http://demeranville.com/battle-of-the-tokenizers-delimited-text-parser-performance/
您可以看到它如何改善您的整体表现。无论如何,拆分所有单词并从长文本构建2-gram将花费一些时间。