查找指定字符串第n次出现的下标
查找指定字符串第n次出现的下标
/** * 根据findStr在data查找第count次出现的下标 * @param data 字符串标本 * @param findStr 要查找的字符串 * @param count 次数 * @return */ public static int findStrIndex(String data, String findStr, int count) { int indexCount = 0; int resultIndex = -1; int length = findStr.length(); char[] findCharArray = findStr.toCharArray(); char[] dataArray = data.toCharArray(); for (int i = 0; i < dataArray.length; i++) { char dataChar = dataArray[i]; char findChar = findCharArray[0]; if(findChar == dataChar) { String match = ""; for (int i1 = i; i1 < i+length; i1++) { match += dataArray[i1]; } if(findStr.equals(match)) { indexCount++; if(count == indexCount) { resultIndex = i; break; } } } } return resultIndex; }
运行结果:
String data = "我叫张万森我叫张万森我叫张万森"; String findStr = "张万森"; int index = findStrIndex(data, findStr, 3); System.out.println(index); // 12