Как разбить буквенно-цифровую строку с помощью C #?

#c# #string #visual-studio-2010

#c# #строка #visual-studio-2010

Вопрос:

У меня есть эта строка, 2014CCB2016123 которая на самом деле является номером списка студентов, и я хочу разбить эту строку в ее исходном формате (используя C #), то есть 2014-CCB-2016-123 . Пожалуйста, дайте мне знать, как я могу это сделать на C #?


Редактировать

Вот что я пробовал:

 if(Char.IsLetter(abc[i])) 
{ 
   switch(abc[i].ToString().ToLower()) 
   { 
       case "C": 
       case "B": //This is number 2! 
       break; 
    } 
}
  

Комментарии:

1. и какие там правила; разделить на 4/3/4/3? что вы пробовали?

2. Да, я должен следовать этому правилу.

3. понятно; итак, еще раз, что вы пробовали?

4. Вот что я пробовал: если (символ. isLetter(abc[i])) { switch(abc[i]. toString(). ToLower()) { регистр «C»: регистр «B»: // Это номер 2! break; } }

5. это наводит на мысль, что я неправильно понял вопрос; какое отношение «C» / «B» имеет к «номеру 2»?

Ответ №1:

 string splitstr = "2014CCB2016123";
string splitstrSplited= splitstr.Substring(0, 4)   "-"   splitstr.Substring(4, 3)   "-"   splitstr.Substring(7, 4)   "-"   splitstr.Substring(11);
  

Ответ №2:

Мы также можем использовать string.join .

 string splitstrSplited = string.Join("-", new string[] { splitstr.Substring(0, 4), splitstr.Substring(4, 3), splitstr.Substring(7, 4), splitstr.Substring(11) });