2017-02-07 2 views
-4

Я хочу сохранить некоторый строковый код в SQL, например 120.002.123 или EXP.120.555. Как я могу разделить эти строки, чтобы увеличить только самую правую целочисленную часть? Я не хочу менять другие части строки.Как разбить код в csharp

Ex. 120.002.124 или EXP.120.556

Как это сделать на C#?

+5

Почему вы храните его в виде строки, если хотите его увеличить? Какой код вы уже пробовали? – Ben

ответ

1

Это может сделать трюк для вас

string str = "EXP.120.556"; //120.002.123 
str = String.Join(
        ".", 
        str.Split('.') 
         .Take(
           str.Split('.').Length - 1 
          ) 
       ) 
       + "." + 
       (
        Convert.ToInt32 
        (
         str.Split('.').LastOrDefault() 
        ) + 1 
       ).ToString(); 

Так вот в коде первой String.Join войдет в другой часть строки с ., за исключением последней части, которые вы хотите increament с помощью Take. Затем Convert.ToInt32 преобразует последнюю часть строки в целое число с помощью LastOrDefault, а затем добавить к нему 1 и снова преобразовать его обратно в строку, используя ToString

0

Что вы можете сделать, это использовать String.Splitmethod и разбивку по ., чтобы получить каждый индивидуальный номер.

string test = "120.002.123"; 
string[] allparts = test.Split('.'); 

Затем возьмите последнюю запись и convert it to an integer

int lastNumber = Convert.ToInt32(allparts.Last()); 

Теперь вы можете делать все, что вы хотите с этим числом.

С небольшим количеством исследовательских усилий вы могли бы решить это самостоятельно. this + this

Смежные вопросы