关于indexOfFunction的一个问题

时间:2016-04-04 22:54:31

标签: java indexof

假设我们有这样的代码;

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

输出为4.它是“树”的起始位置。 “树”字包括“树”,我认为因为它给出了错误的结果。

是否可以使用indexOf()函数查找“tree”字索引?

2 个答案:

答案 0 :(得分:0)

您可以使用以下正则表达式检查是否

  1. '树'是字符串的最后一个元素
  2. '树之后有一个空格。 (如果它不在最后)

    /树($ | \ S)/

  3. 如果您不熟悉正则表达式,请查看本指南:http://www.tutorialspoint.com/java/java_regular_expressions.htm

答案 1 :(得分:0)

我还建议您可以在TREE中的最后一个E之后制作一个if语句检查字符,同时首先确保字符串中确实存在另一个字符。

例如:

 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;
 }
}  

希望有所帮助!