查找单词

时间:2016-01-29 01:52:50

标签: java search word locate

我对Java编程很新,我想知道是否有任何方法可以在句子的最后一个单词中找到一组特定的字符。

这方面的一个例子是试图找到角色"去"在短语中:我将去Go-station。

看着这个,我们可以看到角色"去"出现两次,但是有没有任何方法可以找到" go"在短语的最后一个单词(" Go-station")而不是第一个单词。

2 个答案:

答案 0 :(得分:2)

我认为这有效:

String phrase = "I'm am going to the Go-station.";
String[] words = phrase.split(" ");
int relIndex = words[words.length - 1].toLowerCase().indexOf("go");

if (relIndex == -1) {
    System.out.println("Not found");
} else {
    int index = phrase.length() - words[words.length - 1].length() + relIndex;
    System.out.println("Index: " + index);
}

这很容易理解,但可能有一种更简单的方法。

我将这个短语分成单个单词然后检查最后一个单词的“go”索引。然后在短语的最后一个单词中使用“go”的相对索引,我在原始短语中计算“go”的索引。

答案 1 :(得分:1)

编辑:这个方法lastIndexOf(String str)巧合。 @ Zar的回答是正确的。让我在这里写下我自己的更正版本,因为这个答案已被接受。

String[] words = "I'm am going to the Go-station.".split(" ");
int index = words[words.length - 1].toLowerCase().indexOf("go");

if (index == -1) {
System.out.println("Not found");
} else {
int result = "I'm am going to the Go-station.".length() - words[words.length - 1].length() + index;
System.out.println("found it at postion: " + result);
}