java中用于indexof方法的regexp
我们可以将regexp用于String的indexof()方法吗。 如果是,怎么办 据我所知,这应该打印1,但它java中用于indexof方法的regexp,java,regex,string,indexof,Java,Regex,String,Indexof,我们可以将regexp用于String的indexof()方法吗。 如果是,怎么办 据我所知,这应该打印1,但它 打印“-1” 有人能解释一下吗?因为没有接受regex的indexof版本。它不是字符就是字符串 intindexof(intch) 返回第一个字符串的此字符串内的索引 指定字符的出现。 int-indexOf(int-ch,int-fromIndex) 返回第一个字符串的此字符串内的索引 指定字符的出现,从 指定索引。 int indexOf(String str) 返回此范围内的
打印“-1” 有人能解释一下吗?因为没有接受regex的
indexof
版本。它不是字符就是字符串
intindexof(intch)
返回第一个字符串的此字符串内的索引 指定字符的出现。
int-indexOf(int-ch,int-fromIndex)
返回第一个字符串的此字符串内的索引 指定字符的出现,从 指定索引。
int indexOf(String str)
返回此范围内的索引 指定子字符串第一次出现的字符串。
int-indexOf(字符串str,int-fromIndex)
返回此范围内的索引 指定子字符串第一次出现的字符串,从处开始 指定的索引 根据这一点,您的代码应该是
System.out.println("hello".indexOf('e'));
indexOf
只返回第一次出现的索引。我们可以很容易地用正则表达式模拟这种行为
例如:
Matcher m = Pattern.compile("[e]").matcher("Hello");
if (m.find()) {
System.out.println(m.start());
}
您可以将其放入一个方法中:
private static int indexOf(String s, String pattern) {
Matcher m = Pattern.compile(pattern).matcher(s);
if (m.find()) {
return m.start();
} else {
return -1;
}
}
private static int indexOf(String s, String pattern) {
Matcher m = Pattern.compile(pattern).matcher(s);
if (m.find()) {
return m.start();
} else {
return -1;
}
}