我有一个像String no1="c1245_f5";
这样的字符串,我有另一个像这个String no2="456df";
的字符串,我想用第二个字符串替换第一个字符串但仅在第一个字符之后。
在这之后我在c之后更换了。我的输出必须像c456df。我不知道这样做。我试着更换整个字符串
String no2="456df";
String no1="c1245_f5";
int g;
g=no1.indexOf("c");
int h=no1.indexOf("_", g+1);
no1=no1.substring(g, h);
System.out.println("Number-"+no1);
String rep=no1.replaceAll(no1,no2);
System.out.println(rep);
此处输出仅为第二个字符串。
修改
预期输出:
c456df
我正在获得的输出:
456df
答案 0 :(得分:5)
不需要String.replaceAll,试试这个
String s1 ="c1245_f5";
String s2 = "456df";
String s3 = s1.substring(0, 1) + s2;
答案 1 :(得分:4)
然后通过连接s1.substring(0, 1)
和s2
String s1 ="c1245_f5";
String s2 = "456df";
String s3 = s1.substring(0, 1) + s2;
它将输出c456df
答案 2 :(得分:2)
首先,我想到的是使用String.substring(int,int)
。
所以代码就是这样:
String tmp=c1.substring(0,1)+no2;
System.out.println(tmp);
查看documentation以获取有关String
。
答案 3 :(得分:0)
您可以按照以下方式执行此操作:
String no1 = "c1245_f5";
String no2 = "456df";
String no3 = no1.charAt(0) + no2;
答案 4 :(得分:0)
我建议你用这个:
String rep = no1.replace(no1.substring(1), no2);
你犯的错误是你应该考虑'c'字符后面的第一个位置。所以indexOf('c')+ 1
输入应该是的代码:
String no2="456df"; String no1="c1245_f5"; String rep = no1.replace(no1.substring(no1.indexOf("c")+1), no2); System.out.println(rep);
答案 5 :(得分:0)
取索引,然后追加第二个字符串。
String s1 ="c1245_f5";
String index = s1.substring(0, 1)
String s2 = index + "456df";
答案 6 :(得分:0)
尝试
String no1 ="c1245_f5";
String no2= "456df";
int len=no1.length();
String no3= no1.substring(1,len);
String newNo1=no1.replace(s3, s2);