Инкрементирование строки - C#
Формулировка задачи:
Всем привет. Можете помочь написать метод Инкриминирующий строку, принимающую в качестве аргумента в виде массива типа char. Пример результата:
00000007 - 00000008
SVA00001 - SVA00002
Решение задачи: «Инкрементирование строки»
textual
Листинг программы
public static class ext
{
public static string Inc(this string str)
{
string num=new string (str.Reverse().TakeWhile(s => char.IsDigit(s)).Reverse().ToArray());
int number;
int.TryParse(num,out number);
return str.Substring(0,str.Length-num.Length)+(string.IsNullOrEmpty(num)?"":(++number).ToString().PadLeft(num.Length,'0'));
}
}
void Main()
{
Console.WriteLine("SVA01001".Inc());
}