当前位置:编程学习 > C#/ASP.NET >>

字符串排序操作

string str = "0308011810";(实际上就是03,08,01,18,10组成)

想变换 str 的结果为"0103081018"(按从小到大排序)

这该如何实现呢?谢谢 --------------------编程问答--------------------  str = string.Join("", Regex.Matches(str, @"\d{2}").OfType<Match>().Select(t => t.Value).OrderBy(t => Convert.ToInt32(t)).ToArray());
--------------------编程问答--------------------
string str = "0308011810";
string[] res = System.Text.RegularExpressions.Regex.Split(str, @"(?<=\G\d{2})(?!$)").OrderBy(s=>byte.Parse(s)).ToArray();
--------------------编程问答--------------------
string str = "0308011810";
string[] res = Regex.Split(str, @"(?<=\G\d{2})(?!$)").OrderBy(s => byte.Parse(s)).ToArray();
--------------------编程问答-------------------- 分割 转int 排序 转string 连接 --------------------编程问答--------------------
引用 3 楼 wuyazhe 的回复:
string str = "0308011810";
string[] res = Regex.Split(str, @"(?<=\G\d{2})(?!$)").OrderBy(s => byte.Parse(s)).ToArray();
正则\G的用法,学习 --------------------编程问答-------------------- 哦,一个字符串。

str = string.Join(string.Empty, Regex.Split(str, @"(?<=\G\d{2})(?!$)").OrderBy(s => byte.Parse(s)).ToArray())
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,