我正在努力如何实际执行此操作。说我有这个字符串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++;
}
我觉得必须有一个简单的方法在一个字符串的子串来代替单个字符,而不必做所有这些迭代。我错了吗?