从列表C#中分离字符串

时间:2014-08-15 09:04:59

标签: c# asp.net

我有字符串列表,列表中的每个字符串都是这样的:sim_pin: 1234。列表有24个字符串,我想获取每个字符串,分隔字符串,其中分隔符将是:(:和空格),并保存为仅列出与分隔符相对的那部分。

修改 这是我的代码

string url = @"E:\Sims.log";
    public static IEnumerable<DiverGate> GetData(string url)
    {
        Stream stream = File.Open(url, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);

        using (StreamReader sr = new StreamReader(stream))
        {
            string str = sr.ReadToEnd();
            string[] lines = Regex.Split(str, "\r\n");

            List<string> lista = new List<string>();
            foreach (string line in lines)
            {
                lista.Add(line);
            }

            List<string> header = lista.GetRange(0, 23);

            //I stop here and im out of idea
        }
   }

3 个答案:

答案 0 :(得分:2)

var List1 = new List<string>{"sim_pin: 1234", "sim_pin: 2345", "sim_pin: 3456"};
var List2 = new List<string>();
foreach (var s in List1) {
    var ns = s.Split(':')[1].TrimStart(' ');
    List2.Add(ns);
}

答案 1 :(得分:2)

这样的事情应该有效:

其中input是您原始的字符串列表

        List<string> output = new List<string>();
        input.ForEach(x=> output.Add(x.Split(new[] {": "},StringSplitOptions.None).Last()));

答案 2 :(得分:0)

试试这段代码:

    for ( int i =0; i< yourList.Count(); i++) {

        string s = yourList[i];
        int i = s.indexOf(":");
        s = s.Substring (i);
        yourList.Insert(i, s);
}