Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Инкрементирование строки (http://forum.oszone.net/showthread.php?t=322122)

Invincible 28-12-2016 11:15 2698961

Инкрементирование строки
 
Всем привет. Можете помочь написать метод Инкриминирующий строку, принимающую в качестве аргумента в виде массива типа char. Пример результата:
00000007 - 00000008
SVA00001 - SVA00002

greg zakharov 28-12-2016 13:02 2699012

Цитата:

Цитата Invincible
Можете помочь написать метод Инкриминирующий строку

С Вас сто рублей.
Код:

using System;
using System.Linq;
using System.Text.RegularExpressions;

internal sealed class Program {
  static String IncString(String str) {
    return Regex.Replace(str, @"\d+", n => (
      Int32.Parse(n.Value) + 1
    ).ToString(new String('0', n.Value.Length)));
  }
 
  static String IncString(Char[] arr) {
    return IncString(new String(arr));
  }
 
  static void Main() {
    // если входящий параметр массив типа Char
    Char[] c = {'S', 'V', 'A', '0', '0', '0', '0', '1'};
    Console.WriteLine("До  : {0}", c.GetType());
    Console.WriteLine("После: {0}", IncString(c));
    // если входящий параметр строка
    String s = "SVA00002";
    Console.WriteLine("До  : {0}", s);
    Console.WriteLine("После: {0}", IncString(s));
  }
}


Iska 28-12-2016 14:44 2699050

«Звонил король. Спрашивал, куда принести полцарства»™ ;).


Время: 00:00.

Время: 00:00.
© OSzone.net 2001-