如何将特定索引中的char替换为另一个索引上的另一个char

时间:2018-02-08 09:25:57

标签: java str-replace

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

我该怎么办?在index()有替换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);
   }
}

3 个答案:

答案 0 :(得分:2)

在char数组中更改它:

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

答案 1 :(得分:0)

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

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

Demo

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

答案 2 :(得分:0)

试试这段代码:如果你想得到你想要的东西,它就是第7个元素

String s= "alcaalde";
char[] cs = s.toCharArray();
cs[0] = cs[7];  
s = new String(cs);