// 获得子字符串 strToFind 在字符串 inputStr 中第 count 次出现时的下标索引
public static int getFromIndex( String inputStr, String strToFind, int count ){
//对子字符串进行匹配
Matcher slashMatcher = Pattern.compile( strToFind ).matcher( inputStr );
int index = 0;
//matcher.find(); //尝试查找与该模式匹配的输入序列的下一个子序列
while( slashMatcher.find() ){
index++;
//当 strToFind 字符第 count 次出现的位置
if( index == count ){
break;
}
}
try{
// matcher.start(); 返回以前匹配的初始索引
return slashMatcher.start();
}catch ( Exception e ){
//e.printStackTrace();
return -1; // 没找到
}
}
调用:
int re = getFromIndex( "hello [] [] world", "]", 2 );
System.out.println( re ); // 打印结果 = 10
int re = getFromIndex( "hello [] [] world", "]", 20 );
System.out.println( re ); // 打印结果 = -1
转自: https://blog.youkuaiyun.com/huqingpeng321/article/details/54908694