拆分第三个支架?

时间:2016-06-10 11:28:56

标签: c# string split

如何在C#中分割一些以逗号分隔的括号值?

例如:如何在C#中将"[1,2,3],[4,5]"拆分为"1,2,3""4,5"

2 个答案:

答案 0 :(得分:1)

使用String.Split方法和LINQ:

string str = "[1,2,3],[4,5]";
var res = str.Split(new[] { "],[" }, StringSplitOptions.None)
             .Select(c => c.Replace("[", "").Replace("]","")).ToArray();

输入:

  

[1,2,3],[4,5]

输出:

  

1,2,3

     

4,5

输入:

  

[[1,[2,3]]],[4,[5,6],7]

输出:

  

1,2,3

     

-4,5,6,7-

答案 1 :(得分:0)

如果您正在尝试了解此问题的算法,这可能会对您有所帮助:(我使用输入测试了我的代码并且它有效。)

public static string[] Split(string s)
{
    List<string> strings = new List<string>();
    int index = 0;
    while (index < s.Length)
    {
        if (s.Substring(index, 1) == "[")
        {
            int length = s.IndexOf("]", index + 1) - (index + 1);
            string s2 = s.Substring(index + 1, length);
            strings.Add(s2);
            index += s2.Length + 2;
        }
        else index++;
    }
    return strings.ToArray();
}

这并不是说其他​​答案没用。有时linq非常有帮助。此外,我的代码仅供学习,我没有进行任何错误检查等,并假设没有嵌套的情况as you mentioned