我想替换字符串中的字符
答案 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);