我想增加字符串中的数字。
例如;我想修改
" HTML [0]。体[0] / UL [1] / LI [10] / A [1]"
到
" HTML [1]。体[1] / UL〔2〕/ LI [11] / A [2]"
注意:我接受答案,但我想加上我的尝试;
replace("8", "9").replace("7", "8").replace("6", "7").replace("5", "6").replace("4", "5").replace("3", "4").replace("2", "3").replace("1", "2").replace("0", "1")
我意识到9不能改变所以我试过
for(int i=0;i<s.length();i++){
if (Character.isDigit(s.charAt(i)))
{
int a=Integer.parseInt(s, s.charAt(i))+1;
s.charAt(i)=(char)a;
System.out.println(s.charAt(i));
}
}
这也不起作用.. 第二个注意事项:一般来说,我试着编写所有代码,由于得分,我会收到警告。我不想写部分代码
答案 0 :(得分:1)
有多种方法可以做到这一点。我将分享一个:
String input = "HTML[0].BODY[0]/UL[1]/LI[10]/A[1]";
Pattern p = Pattern.compile("\\d+");
Matcher m = p.matcher(input);
StringBuffer sb = new StringBuffer();
while (m.find()) {
m.appendReplacement(sb, String.valueOf(Integer.parseInt(m.group()) + 1));
}
m.appendTail(sb);
String output = sb.toString();
System.out.println(output);