在 java 中,怎样替换一个 String 字符串中的第 n 个字符呢?

比如 String str = "asd as da s" 怎样实现将第三次出现的 a 替换成 b 呢?想不通,求大神解答。

你好提问者:

如果解决了你的问题,请采纳,若有疑问请追问,谢谢!

package com.zyx.cn.baidu_test;
public class Test {
public static void main(String[] args) {
String s ="asd as da s";
int number =0;
String str="" ;
for (int i = 0; i < s.length(); i++) {
String newChar = s.substring(i,i+1);
if("a".equals(newChar)||newChar=="a"){
number++;
if(number==3){
str= s.substring(0, i);
str =str+"b"+s.substring(i+1, s.length());
System.out.println(str);
}
}
}
}
}
结果:
asd as db s

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-11-25
用indexof方法追问

请问这个要怎样使用呀?刚开始学java有点不懂,另外,除了使用这个外还有其他方法吗?

追答

那个字符串对象的方法,可以搜索该字符在字符串出现的下标

public class Test {
public static String replace(String source,String findWord,int num,String newWord)
{
int begin=0;
for (int i = 0; i <num ; i++) {
begin=source.indexOf(findWord,begin);
if(i==num-1)
{
return source.substring(0,begin)+newWord+source.substring(begin+1,source.length());
}
begin++;
}
return "该字符没有出现那么多次";
}
public static void main(String[] args)
{
String param="asd as da s";
System.out.println(replace(param, "a", 3, "b"));
}
}
。。我来晚了

相似回答