如何使用Linq排序包含数字的字符串列表?


Input -> {"rajesh|51|32|asd", "nitin|71|27|asd", "test|11|30|asd"} 
output -> {"test|11|30|asd", "rajesh|51|32|asd" ,"nitin|71|27|asd"}

如何使用LINQ对上面的List<string>进行排序。

您可以使用Regex.Match(inputString, @"d+")从字符串中获得数字,并使用linq.OrderBy按此数字排序列表:

List<string> list = new List<string>() { "rajesh|51|32|asd", "nitin|71|27|asd", "test|11|30|asd" };
var result=list.OrderBy(i => Regex.Match(i, @"d+").Value).ToList();

结果:

1=> "test|11|30|asd"
2=>"rajesh|51|32|asd" 
3=>"nitin|71|27|asd"

注意:字符串中有两个数字,你没有说要按哪个数字排序。但是结果显示你指的是第一个数字

相关内容

  • 没有找到相关文章

最新更新