使用java查找索引

使用java查找索引,java,substring,Java,Substring,我正在写一个符合以下要求的程序 我有一个字符串,(Ravi)对(Java) 从这个字符串中,我需要得到(和)的索引值 我知道如何使用indexOf()获取第一个(和最后一个),getLastIndexOf(),但是如何在(Ravi)和(Java)中获取(和)的索引值呢 我可以使用 List<String> matchList = new ArrayList<String>(); Pattern regex = Pattern.compile("\\((.*?)\\)");

我正在写一个符合以下要求的程序

我有一个字符串,
(Ravi)对(Java)

从这个字符串中,我需要得到
的索引值

我知道如何使用
indexOf()
获取第一个
和最后一个
getLastIndexOf()
,但是如何在
(Ravi)
(Java)
中获取
)的索引值呢

我可以使用

List<String> matchList = new ArrayList<String>();
Pattern regex = Pattern.compile("\\((.*?)\\)");
Matcher regexMatcher = regex.matcher(line);
while (regexMatcher.find()) {
    matchList.add(regexMatcher.group(1));
}
for (String str : matchList) {
 utterancesSet.add(str);
}
System.out.println(utterancesSet);
List matchList=new ArrayList();
Pattern regex=Pattern.compile(“\\(.*?\)”);
Matcher regexMatcher=regex.Matcher(行);
while(regexMatcher.find()){
添加(regexMatcher.group(1));
}
用于(字符串str:matchList){
添加(str);
}
系统输出打印LN(话语集);
但在这里,我需要的是索引值,而不是字符串

谢谢

返回指定子字符串第一次出现的字符串内的索引,从指定索引开始

返回的索引是最小值k,其中:

k >= fromIndex  && this.startsWith(str, k)
如果不存在这样的k值,则返回-1

参数:

str-要搜索的子字符串

fromIndex—开始搜索的索引

返回:

指定子字符串第一次出现的索引,从指定的索引开始,如果没有出现,则为-1

返回指定子字符串第一次出现的字符串内的索引,从指定索引开始

返回的索引是最小值k,其中:

k >= fromIndex  && this.startsWith(str, k)
如果不存在这样的k值,则返回-1

参数:

str-要搜索的子字符串

fromIndex—开始搜索的索引

返回:

指定子字符串第一次出现的索引,从指定的索引开始,如果没有出现,则为-1


在for循环中使用indexOf,如下所示:

String text = "0123hello9012hello8901hello7890";
String word = "hello";

System.out.println(text.indexOf(word)); // prints "4"
System.out.println(text.lastIndexOf(word)); // prints "22"

// find all occurrences
for (int i = -1; (i = text.indexOf(word, i + 1)) != -1; ) {
    System.out.println(i);
} // prints "4", "13", "22"

有关此示例的详细信息:

在For循环中使用indexOf,如下所示:

String text = "0123hello9012hello8901hello7890";
String word = "hello";

System.out.println(text.indexOf(word)); // prints "4"
System.out.println(text.lastIndexOf(word)); // prints "22"

// find all occurrences
for (int i = -1; (i = text.indexOf(word, i + 1)) != -1; ) {
    System.out.println(i);
} // prints "4", "13", "22"

有关此示例的详细信息:

是否尝试对字符串的所有字符进行迭代并使用列表?还有带有两个参数的indexOf。。。在循环中使用它使用带有起始位置参数的
indexOf(String,int)
版本:您可以得到答案。您是否尝试迭代字符串的所有字符并使用列表?还有带有两个参数的indexOf。。。在循环中使用它使用带有起始位置参数的
indexOf(String,int)
版本:您可以得到答案。为什么要复制另一个答案,而不是将链接作为注释提供?你说得对,这是另一种方式。但至少他现在在同一页上有了答案(和例子)^^欢迎来到SO Antoine!如果你抄袭了其他答案,至少提供了你从哪里得到答案的链接,否则看起来就像是你在想,而实际上是别人在想。这应该归功于那个花了一些时间思考伊托克的人对不起,你是对的。我现在就去做。不完全是我的意思,但现在好多了。我收回我的否决票。为什么要复制另一个答案,而不是提供链接作为评论?你说得对,这是另一种方式。但至少他现在在同一页上有了答案(和例子)^^欢迎来到SO Antoine!如果你抄袭了其他答案,至少提供了你从哪里得到答案的链接,否则看起来就像是你在想,而实际上是别人在想。这应该归功于那个花了一些时间思考伊托克的人对不起,你是对的。我现在就去做。不完全是我的意思,但现在好多了。我收回我的反对票。