如何将String中的数字增加1?

时间:2014-02-21 15:19:48

标签: java string increment

我有一个以下字符串为 -

String current_version = "v2";

此版本也可以是这些字符串中的任意一个 - v3v4v10v100v500v1000

现在我希望将current_version从v2增加到v3。含义我总是需要将current_version增加1。

如果current_version为v5,那么我会将其增加到v6

如何使用String?

注意: -

我从某个方法获得current_version字符串值,这个方法总会像v2,v3,v4一样返回我...

7 个答案:

答案 0 :(得分:8)

如果要将v之后的数字解析为int并将其递增1,只需通过子串,将数字加1并将得到的递增数字连接回一个前缀为“v”的字符串:< / p>

    String version = "v1";
    String newVersion = "v" + (Integer.parseInt(version.substring(1,version.length()))+1);
    System.out.println(newVersion);

或者,您可以跟踪int中的当前版本,通过将该int添加到“v”来增加该值并构建新的String,而无需调用substring() }。

答案 1 :(得分:8)

我建议你将版本存储在int中。所以代码将遵循

int versionNumber = 1;

每当你想增加时,只需使用

递增它
versionNumber++;

并打印或存储为完整版本,请执行以下操作

String version = "v" + versionNumber;

答案 2 :(得分:2)

int version = Integer.parseInt(current_version.replace("v", ""));

然后你可以增加它并添加一个get "v" + current_version

答案 3 :(得分:1)

如果您的格式发生变化,则可以提供更大的灵活性:

String version = "v1234";
System.out.println("v" + (Integer.parseInt(version.replaceAll("[^0-9]", "")) + 1));

使用正则表达式删除所有非数字,在结果中添加一个。

答案 4 :(得分:1)

    String oldVersion = "v100";
    String[] splitString = oldVersion.split("v");
    int newVersion = Integer.valueOf(splitString[1])+1;
    String completeNewVersion = splitString[0] + newVersion;
    System.out.print(completeNewVersion);

答案 5 :(得分:0)

为什么不将版本存储为int并在显示版本时添加char'v'? 如果你想用String做,你可以创建一个初始的子串,解析为int,之后添加'v'结果。

 currentVersion = "v" + (Integer.parseInt(currentVersion .substring(1)) + 1);

答案 6 :(得分:-1)

如果您想要其他解决方案,可以使用此方法:

uint8_t versionNumber = 1;
char version[40];
sprintf(version,"v %d",versionNumber);

然后你增加你的变量&#34; versionNumber&#34;随时随地!