我想按照括号中的名字命令列表中包含字符串名称。
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)
以按顺序指令从拆分字符串中删除最后一个字符?
答案 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();