2016-04-04 52 views
0

假设我们有这样的代码;关于indexOfFunction的一个问题

String s = "ali trees tree"; 
System.out.println(s.indexOf("tree")); 

输出是4.它是“树”的开始位置。 “树”这个词包括“树”,我认为它会给出错误的结果。

这是一种用indexOf()函数查找“tree”单词索引的方法吗?

+2

正则表达式。 – Savior

回答

0

你可以使用检查以下正则表达式,如果

  1. “树”是字符串
  2. 的最后一个元素“树”之后有一个空格(如果它不是最后的结局)

    /树($ | \ S)/

如果你是新的正则表达式请查看本指南:http://www.tutorialspoint.com/java/java_regular_expressions.htm

+0

非常感谢。 –

0

我还建议你可以在TREE中最后一个E之后检查字符,如果它首先确保字符串中存在另一个字符。

例如:

boolean foundCorrectIndex=false; 
String tree = "tree"; 
if (s.indexOf(tree) < s.length()-tree.length()){ 
int index = s.indexOf(tree)+tree.length(); 
if (s.charAt(index) == 's'){ 
foundCorrectIndex =true; 
} 
} 

希望帮助!