我有一个字符串
String a="ABC123";
如何增加上面的字符串,以便我得到输出:
ABC124
ABC125...and so.
答案 0 :(得分:4)
"read string"
答案 1 :(得分:0)
解析为数字并重建为字符串以供将来使用。 有关解析方面的信息,请参阅How to convert a String to an int in Java?
答案 2 :(得分:0)
试试这个
static final Pattern NUMBER_PATTERN = Pattern.compile("\\d+");
static String increment(String s) {
Matcher m = NUMBER_PATTERN.matcher(s);
if (!m.find())
throw new NumberFormatException();
String num = m.group();
int inc = Integer.parseInt(num) + 1;
String incStr = String.format("%0" + num.length() + "d", inc);
return m.replaceFirst(incStr);
}
@Test
public void testIncrementString() {
System.out.println(increment("ABC123")); // -> ABC124
System.out.println(increment("Z00000")); // -> Z00001
System.out.println(increment("AB05YZ")); // -> AB06YZ
}
答案 3 :(得分:0)
如果字符串必须以这种方式/(你不是发电机)会做类似的事情:
String a="ABC123";
String vals[]=a.split("[A-Za-z]+");
int value=Integer.parseInt(vals[1]);
value++;
String newStr=a.substring(0,a.length()-vals[1].length())+value;
System.out.println(newStr);
但如果你单独生成它会更好:
String a="ABC";
int val=123;
String result=a+val;
val++;
result=a+val;
System.out.println(""+result);