• public int indexOf(int ch): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
  • public int indexOf(int ch, int fromIndex): 返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
  • int indexOf(String str): 返回指定子串在字符串中第一次出现处的索引,如果此字符串中没有这样的子串,则返回 -1,有则返回该子串在字符串的第一次出现的子串第一个字符的下标。
  • int indexOf(String str, int fromIndex): 返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1,有则返回该子串在字符串的从指定fromIndex 位置开始出现的子串第一个字符的下标。
/*
*
* 需求把第二次出现[template]的换成A
*
*/
public static void main(String[] args) {
String str = "3187381718314391814718321493018";
String template = "18";
StringBuilder stringBuilder = new StringBuilder(str);
// 从指定位置开始查找子串,返回子串的第一个元素的下标
int indexZero = str.indexOf(template);
int indexFirst = str.indexOf(template,indexZero + template.length());
stringBuilder.replace(indexFirst,indexFirst + template.length(),"A");
System.out.println(stringBuilder.toString());

}