Java 如何用另一个索引上的另一个字符替换特定索引中的字符

Java 如何用另一个索引上的另一个字符替换特定索引中的字符,java,str-replace,Java,Str Replace,下面的代码打印eleelde,但我希望它打印elcaalde public class ReverseExperiments3 { public static void main (String[] args) { String s= "alcaalde"; s=s.replace('a','e'); System.out.println(s); } } 我怎么做?在索引()中是否有类似replace char的函数 我想为I=0处的字符指

下面的代码打印
eleelde
,但我希望它打印
elcaalde

public class ReverseExperiments3 {  
   public static void main (String[] args) {
      String s= "alcaalde";
      s=s.replace('a','e'); 
      System.out.println(s);
   }
}
我怎么做?在
索引()
中是否有类似replace char的函数

我想为
I=0处的字符指定
I=6处字符的值,并打印单词
elcaalde

public class ReverseExperiments3 {  
   public static void main (String[] args) {
      String s= "alcaalde";
      s=s.replace('a','e'); 
      System.out.println(s);
   }
}

在char数组中更改它:

char[] cs = s.toCharArray();
cs[0] = cs[6];  // For example.
s = new String(cs);

在char数组中更改它:

char[] cs = s.toCharArray();
cs[0] = cs[6];  // For example.
s = new String(cs);

您也可以在此处使用正则表达式替换:

String s = "alcaalde";
s = s.replaceFirst("(.)(.{6})(.)", "$3$2$1");


对于这个问题,@andy给出的答案可能是最好的。但是如果OP需要移动字符串,那么基于正则表达式的方法将使我们处于相当好的位置。

您也可以在此处使用正则表达式替换:

String s = "alcaalde";
s = s.replaceFirst("(.)(.{6})(.)", "$3$2$1");


对于这个问题,@andy给出的答案可能是最好的。但是如果OP需要在字符串周围移动,那么基于正则表达式的方法将使我们处于一个相当好的位置。

试试下面的代码:如果你想得到你想要的,它是第七个元素


试试这个代码:如果你想得到你想要的,它是第七元素


为什么
replaceAll
,而不是
replaceFirst
?@khelwood在这种特殊情况下,由于模式覆盖了整个字符串,我希望
replaceFirst
replaceAll
基本上做相同的事情。为什么
replaceAll
,而不是
replaceFirst
?@khelwood在这种特殊情况下,由于模式覆盖了整个字符串,我希望
replaceFirst
replaceAll
基本上做相同的事情。为了获得结果,它是第7个元素,因此s[7]。不管怎么说,你把它作为s[6]是对的,因为他要求它为了得到结果,它是第七元素,所以s[7]。不管怎样,你是对的,正如他所要求的那样