Как увеличить число в строке на 1?
у меня есть строка ниже, как -
String current_version = "v2";
а вот версия может быть любой из этих строк, а также - v3
или v4
или v10
или v100
или v500
или v1000
теперь я хочу увеличить current_version из v2
to v3
. Смысл я всегда нужно прирастить current_version на 1.
если current_version составляет v5
, тогда я увеличу его до v6
.
как я могу сделать это с Струна?
Примечание:
я current_version
строковое значение из некоторого метода, который всегда будет возвращать мне только v2, v3, v4..
7 ответов
если вы хотите разобрать число после v как int и увеличить его на 1, просто сделайте это, добавив 1 к числу и объединив полученное увеличенное число обратно в строку с" v", добавленным:
String version = "v1";
String newVersion = "v" + (Integer.parseInt(version.substring(1,version.length()))+1);
System.out.println(newVersion);
кроме того, вы можете отслеживать текущую версию в int
, увеличьте это и создайте свой новый String
добавляя это int к "v", без необходимости вызывать substring()
.
я предложу вам сохранить версию в int. таким образом, коды будут следовать
int versionNumber = 1;
всякий раз, когда вы хотите увеличить только увеличить его с помощью
versionNumber++;
и для печати или хранения в полной версии выполните следующие действия
String version = "v" + versionNumber;
попробовать
int version = Integer.parseInt(current_version.replace("v", ""));
затем вы можете увеличить его и добавить get "v" + current_version
почему вы не сохраняете версию как int и не добавляете символ 'v' при отображении версии? Если вы хотите сделать это со строкой, вы можете сделать подстроку начальной, разобрать ее на int и после этого добавить к' V ' результат.
currentVersion = "v" + (Integer.parseInt(currentVersion .substring(1)) + 1);
Если ваш формат когда-либо изменится, это позволит немного больше гибкости:
String version = "v1234";
System.out.println("v" + (Integer.parseInt(version.replaceAll("[^0-9]", "")) + 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);
Если вы хотите другое решение, вы можете использовать это :
uint8_t versionNumber = 1;
char version[40];
sprintf(version,"v %d",versionNumber);
и вы увеличиваете переменную "versionNumber", когда захотите !