Java:查找字符串中的前10个单词.什么是最有效的算法?

Kev*_*vin 2 java algorithm

我正在尝试编写一些代码来检索字符串的前10个单词.

我能想象的最好的算法是按空格分割字符串并取前10个元素.然而,这不是很有效,因为弦可能很长.

Java中是否有更好的算法可以实现这一目标?

非常感谢.

ami*_*mit 13

您可以使用String.split(String regex,int limit)特定限制 - 不要再调用正则表达式规则11次.

它将创建一个String[]对象,其中10个第一个元素是单独的单词,最后一个元素包含尚未检查规则的单词[因此它不会拆分字符串的其余部分]


Rek*_*kin 6

试试StringTokenizer:

StringTokenizer st = new StringTokenizer("i am a very very long String");
     for(int i = 0; i < 10 && st.hasMoreTokens(); i++) {
         System.out.println(st.nextToken());
     }
Run Code Online (Sandbox Code Playgroud)