我正在构建一个自动填充建议器,我试图解析我的建议。
我有以下代码,可让我搜索关键字wor
并返回整个单词keyword
以及短语的其余部分。我想补充一点,这样我只能在原始单词keyword
之后最多返回两个单词。
Example code
String keyword = "wor";
String phrase = "my keyword search phrase works";
int keywordIndex = phrase.indexOf(keyword);
int lastSpaceIndex = phrase.substring(0, keywordIndex).lastIndexOf(' ');
phrase = phrase.substring(lastSpaceIndex + 1);
完全可以从keyword search phrase works
wor
但是现在我需要添加它,以便当它们存在于短语中时,我最多可以添加2个附加单词。示例keyword search phrase
我以为我可以做这样的事,但它不起作用
if(phrase.contains(" ")) {
int nextWordIndex = phrase.indexOf(" ");
String result = phrase.substring(keywordsIndex, nextWordIndex);
System.out.println(result);
}
有人可以帮我解决这个问题。感谢
答案 0 :(得分:1)
如果您确保有两个或更多空格,那么这将有所帮助:
phrase = phrase.substring(lastSpaceIndex + 1);
int firstIndex = phrase.indexOf(' ', 0);
int secondIndex = phrase.indexOf(' ', firstIndex + 1);
int thirdIndex = phrase.indexOf(' ', secondIndex + 1);
phrase = phrase.substring(0, phrase.indexOf(' ', thirdIndex));
System.out.println(phrase);
如果您确保单词之间有空格,则可以执行以下操作:
String str[] = phrase.split(" ");
StringBuilder stringBuilder = new StringBuilder();
for (int i =0; i< Math.min(str.length, 3); i++) {
stringBuilder.append(str[i] + " ");
}
System.out.println(stringBuilder.toString().replaceAll(" $", ""));