本文共 756 字,大约阅读时间需要 2 分钟。
/* * * 需求把第二次出现[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());} 这段代码的主要功能是通过字符串操作,找到字符串中第二次出现指定子串的位置,并将其替换为"A"。具体步骤如下:
首先,使用indexOf方法查找子串template(即"18")在主字符串str中第一次出现的位置,得到indexZero。
然后,从indexZero的下一个位置开始继续查找,找到子串的第二次出现的位置indexFirst。
最后,使用StringBuilder的replace方法,将indexFirst位置开始的子串"18"替换为"A"。
通过这种方法,可以有效地完成字符串中的特定子串替换操作。
转载地址:http://oaka.baihongyu.com/