我正在努力如何實際執行此操作。說我有這個字符串Java:用索引中的字符串中的子字符串替換特定字符
「這Str1ng i5的樂趣」
我想用「一」及5「十一五」
「這StrOneng iFive好玩」
替換「1」我試圖循環徹底的字符串並手動替換它們,但計數已關閉。我也曾嘗試使用列表,數組,StringBuilder的,等等,但我不能得到它的工作:
char[] stringAsCharArray = inputString.toCharArray();
ArrayList<Character> charArraylist = new ArrayList<Character>();
for(char character: stringAsCharArray) {
charArraylist.add(character);
}
int counter = startPosition;
while(counter < endPosition) {
char temp = charArraylist.get(counter);
String tempString = Character.toString(temp);
if(Character.isDigit(temp)){
char[] tempChars = digits.getDigitString(Integer.parseInt(tempString)).toCharArray(); //convert to number
charArraylist.remove(counter);
int addCounter = counter;
for(char character: tempChars) {
charArraylist.add(addCounter, character);
addCounter++;
}
counter += tempChars.length;
endPosition += tempChars.length;
}
counter++;
}
我覺得必須有一個簡單的方法在一個字符串的子串來代替單個字符,而不必做所有這些迭代。我錯了嗎?