虽然java中的indexOf()给出了句子中“the”之前的字符数有一天我看到了美丽的鸟,我想知道获取单词数量的方法在它之前。例如,给定句子的输出将是4!
谢谢。
答案 0 :(得分:1)
最简单的方法是计算“the”之前的空格字符。
One day I saw the
^ ^ ^ ^
有4个空格,所以有4个单词。
当然,您可能需要为单词或标点符号之间的多个空格添加一些特殊处理。
答案 1 :(得分:1)
扫描并计算单词,直到您点击
编辑:非常简单的示例(未经过测试; - )
public static void main(String args[]) {
System.out.println(indexOfWord("One day I saw the beautiful bird", "the"));
}
private static int indexOfWord(String input, String word) {
Scanner s = new Scanner(input);
Pattern p = Pattern.compile("\\S*");
int count = 0;
while (s.hasNext(p)) {
if (word.equals(s.next(p)))
return count;
count++;
}
return -1;
}
答案 2 :(得分:1)
你必须将字符串分成单词,然后你就可以找到单词的索引。
public int indexOfWord(String sentence, String word) {
return Arrays.asList(sentence.split("\\s+")).indexOf(word);
}
如果您需要更有效的方法,请参阅Sascha指出的Scanner
。
答案 3 :(得分:0)
使用空格作为分隔符使用String.split()
。然后在到达单词之前计算返回数组中的元素数。