前面一个单词后面是该词对应数字,按照数字大小如何排序
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);