如何更改字符串中字符的位置?

时间:2013-12-21 22:00:42

标签: java string replace

例如,

String a = "horse" ; String b = "eshor" ;

如何更改字符串B中E和H的位置?

注意:我不能使用String builder。我想根据他们的立场改变它们。我需要揭示第一个角色。

输出应该是这样的:

改组了字eshor

新词hseor

3 个答案:

答案 0 :(得分:2)

java中的字符串是不可变的。因此,从技术上讲,在String b中,您不能交换字符空格。

唯一的解决方法是

  1. 将字符串转换为char[]
  2. char[]
  3. 中翻转字符
  4. 使用重新排序的char[]
  5. 创建一个新字符串

答案 1 :(得分:0)

String newWord = word.replace("e","_e_").replace("h","e").replace("_e_","h");

答案 2 :(得分:0)

你的问题很模糊,所以我无法明白你的目的。

您无法更改String对象,因为它们是不可变的。如果你对“我不能使用字符串构建器”的意思是你不能使用String对象或字符串脚轮。然后你可以直接操作chars,如下:

    char[] cycleChars(String str, int fIndex, int sIndex){
    char[] cArr = str.toCharArray();
    char cTemp;
        cTemp = cArr[fIndex];
        cArr[fIndex] = cArr[sIndex];
        cArr[sIndex] = cTemp;
        return cArr;
}

也许您只需要一个简单的op方法,例如上面的方法。