Приращение целого числа в конце строки

У меня есть строка «Chicago-Illinos1», и я хочу добавить ее до конца, так что это будет «Chicago-Illinos2».

Примечание: это также может быть Chicago-Illinos10, и я хочу, чтобы он отправился в Chicago-Illinos11, поэтому я не могу сделать substr.

Любые предлагаемые решения?

Попробуй это

 preg_match("/(.*?)(\d+)$/","Chicago-Illinos1",$matches); $newstring = $matches[1].($matches[2]+1); 

(не могу попробовать сейчас, но он должен работать)

Комплексные решения для действительно простой задачи …

 $str = 'Chicago-Illinos1'; echo $str++; //Chicago-Illinos2 

Если строка заканчивается номером, она будет увеличивать число (например: 'abc123' ++ = 'abc124').

Если строка заканчивается буквой, буква будет увеличиваться (например: '123abc' ++ = '123abd')

 $string = 'Chicago-Illinois1'; preg_match('/^([^\d]+)([\d]*?)$/', $string, $match); $string = $match[1]; $number = $match[2] + 1; $string .= $number; 

Протестировано, работает.

взорвать мог бы сделать работу, а также

 <?php $str="Chicago-Illinos1"; //our original string $temp=explode("Chicago-Illinos",$str); //making an array of it $str="Chicago-Illinos".($temp[1]+1); //the text and the number+1 ?> 

Я бы использовал регулярное выражение, чтобы получить номер в конце строки (для Java это будет [0-9] + $ ), увеличьте его ( int number = Integer.parse (yourNumberAsString) + 1 ) и соединитесь с Chicago-Illinos (остальные не соответствуют регулярному выражению, используемому для нахождения номера).