Как я могу разбить строку, как показано в примере ниже - PullRequest
0 голосов
/ 01 ноября 2011

У меня есть строка, как показано ниже

string str = "ABE,1A2B3CD,1B2A3C,1A2BC3E";

Как мне разбить эту строку и установить ее в списке, как показано ниже?

List<string> lst = new List<string>();
lst[0] = "A";  
lst[1] = "B";  
lst[2] = "E";  
lst[3] = "1A2B3CD";  
lst[4] = "1B2A3C";  
lst[5] = "1A2BC3E";  

Ответы [ 2 ]

4 голосов
/ 01 ноября 2011

Попробуйте с этим:

string[] s = str.Split(',');
if (s.Length > 0)
{
    foreach (char c in s[0])
        lst.Add(c.ToString());
    for (int i = 1; i < s.Length; i++)
        lst.Add(s[i]);
}

Я предположил, что вам нужно разделить каждую строку, разделенную запятой, и, только для первого, каждый символ ...

2 голосов
/ 01 ноября 2011

Если вы хотите, чтобы строка не начиналась с цифры, разделенной на отдельные символы:

using System.Text.RegularExpressions;

var split = str.Split(',').SelectMany(s => Regex.IsMatch(s, @"^\d")
          ? new [] {s} 
          : s.ToCharArray().Select(c => c.ToString()))
     .ToList();

раскол:

{ "A", "B", "E", "1A2B3CD", "1B2A3C", "1A2BC3E" }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...