前
String str = "abc def ghi";
有没有像str.find("abc")
这样的方法会返回我1
str.find("def")
会返回 2?
Java 语言..
最佳答案
这样的事情怎么样?
int getIndex(String str, String substring)
{
return Arrays.asList(str.split("\\s+")).indexOf(substring)+1;
}
免责声明:这根本没有效率。每次调用该函数时,它都会从头开始拆分整个字符串。
测试代码:
String str = "abc def ghi";
System.out.println(getIndex(str, "abc"));
System.out.println(getIndex(str, "def"));
打印:
1
2
解释:
str.split("\\s+")
按空格拆分字符串并将每个部分放入数组中的一个位置。
Arrays.asList
返回数组的 ArrayList
。
indexOf(substring)
查找字符串在 ArrayList
中的位置。
+1
因为 Java 使用 0 索引而你想要 1 索引。
关于java - 在字符串中查找子字符串的位置(不是 indexOf),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18844855/