[英]Java replacing char at index
我想替換字符串中的字符
您可以使用substring()
分割並重新創建字符串來完成此操作,但是另一種方法是將其轉換為char[]
並對其進行操作,例如:
char[] data = captureString[0].toCharArray();
data[strOneRand] = Character.toUpperCase(data[strOneRand]); // or whatever
String outputFinal = new String(data);
使用substring()
完成此操作的示例可以在已接受的替換字符串中特定索引處的字符的答案中找到? 。 也可以在此處找到使用StringBuilder
進行操作的示例。
你只需要這樣做
char[] charArray = captureString[0].toCharArray();
charArray[strOneRand] = THE_NEW_CHARECTOR_YOU_WANT_TO_REPLACE;
String outputFinal = String.copyValueOf(charArray);
您還可以像這樣使用實用程序類StringBuilder:
StringBuilder resultString = new StringBuilder(captureString[0]);
char replaceMe = captureString[0].charAt(strOneRand);
resultString.setCharAt(strOneRand, Character.toUpperCase(replaceMe));
System.out.println(resultString.toString());
該作業只是為了澄清,祝您好運!
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”。
這是我在您遇到的情況下將要執行的操作:
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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.