首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

前面一个单词后面是该词对应数字,按照数字大小怎么排序

2012-08-10 
前面一个单词后面是该词对应数字,按照数字大小如何排序AA:12BB:18CC:111DD:23EE:45FFF:2排序的结果

前面一个单词后面是该词对应数字,按照数字大小如何排序
AA:12;BB:18;CC:111;DD:23;EE:45;FFF:2;

排序的结果应该为:CC:111;EE:45;DD:23;BB:18;AA:12;FFF:2;

问用C#如何输出该结果?

[解决办法]
1.你可以用正則表態式也許可以找到規則。
2.將你的字串用.Split拆成字串陣列,之後去比較其大小,產生新的字串陣列然後用一個迴圈將字串陣列加起來就行了。
[解决办法]

C# code
string str="AA:12;BB:18;CC:111;DD:23;EE:45;FFF:2;";            Console.Write(string.Join(";", str.Split(new char[]{';'},StringSplitOptions.RemoveEmptyEntries).OrderByDescending(x => int.Parse(x.Split(':')[1])).ToList()));            Console.Read();
[解决办法]
探讨

不行啊!运行出错!

[解决办法]
先按照“;”拆分,然后每个拆分后的字符串再按照“:”拆分啊,按照数字排就是了
[解决办法]
C# code
string str = "AA:12;BB:18;CC:111;DD:23;EE:45;FFF:2";string[] arr = str.Split(';');Array.Sort(arr, (v1, v2) => int.Parse(v1.Split(':')[1]).CompareTo(int.Parse(v2.Split(':')[1])));str = string.Join(";", arr); 

热点排行