Java在索引处替换char

时间:2014-03-15 07:32:52

标签: java arrays string

我想替换字符串中的字符

5 个答案:

答案 0 :(得分:1)

您可以通过使用substring()来分离并重新创建字符串来实现此目的,但另一种方法是将其转换为char[]并对其进行操作,例如:

char[] data = captureString[0].toCharArray();
data[strOneRand] = Character.toUpperCase(data[strOneRand]); // or whatever
String outputFinal = new String(data);

使用substring()完成此操作的示例可以在Replace a character at a specific index in a string?的已接受答案中找到。也可以在那里找到使用StringBuilder进行此操作的示例。

答案 1 :(得分:1)

你只需要这样做

char[] charArray = captureString[0].toCharArray();
charArray[strOneRand] = THE_NEW_CHARECTOR_YOU_WANT_TO_REPLACE;
String outputFinal = String.copyValueOf(charArray);

答案 2 :(得分:1)

你也可以使用像这样的实用程序类StringBuilder:

    StringBuilder resultString = new StringBuilder(captureString[0]);
    char replaceMe = captureString[0].charAt(strOneRand);
    resultString.setCharAt(strOneRand, Character.toUpperCase(replaceMe));

    System.out.println(resultString.toString());

这项任务只是为了澄清,祝你好运!

答案 3 :(得分:1)

String a = captureString[0].substring(0,strOneRand);
String b = captureString[0].substring(strOneRand,strOneRand+1).toUpperCase;
String c = captureString[0].substring(strOneRand+1);

System.out.println(a+b+c);

replace方法会使首选出现的所选字符为大写。 如果输入字符串是" aaaaa",你将永远得到" Aaaaa"。

答案 4 :(得分:1)

以下是我在你的情况下会做的事情:

public void replaceChar(String strPassed, int index){

    char strArray[] = strPassed.toCharArray(); 
    strArray[index] = (char)(strArray[index] - 32);
    strPassed[0] = new String(strArray);

}

然后我想将角色转换为UpperCase:

replaceChar(capturString[0], strOneRand);