从早先由char分割的字符串中剪切最后一个字符

时间:2017-08-20 21:47:12

标签: c# string c#-4.0

我想按照括号中的名字命令列表中包含字符串名称。

List<string> result = new List<string>();
            list.ForEach(elem => result.Add(elem.Value));
            result.Add(item);
            result = result.OrderBy(o=>o.Split(';')[0].Substring(0, o.Length - 1).Split('(')[1]).ToList();

示例:2-osobowy(Agrawka);Śniadanie+ Obiadokolacja 我想提取这个名字 Agrawka 如何更改指令Substring(0, o.Length - 1)以按顺序指令从拆分字符串中删除最后一个字符?

1 个答案:

答案 0 :(得分:0)

如果我理解你想要在括号中提取值并对输入进行排序&#39;按该值列出。因此,下面的代码对您的数据进行排序,并将值提取到其他列表:

        List<string> resultList = new List<string>() { "2-osobowy(Bgrawka);Śniadanie+Obiadokolacja", "2-osobowy(Agrawka);Śniadanie+Obiadokolacja" };
        string tempStr = null;
        var extractedStr = new List<String>();
        resultList = resultList.OrderBy(o =>
        {
            var extract = (tempStr = o.Split(';')[0].Split('(')[1]).Substring(0, tempStr.Length - 1);
            extractedStr.Add(extract);
            return extract;
        }).ToList();

如果只想排序输入数据,只需简化lambda:

        resultList = resultList.OrderBy(o => (tempStr = o.Split(';')[0].Split('(')[1]).Substring(0, tempStr.Length - 1)).ToList();