有个字符串为"2|BB|BB_BB|1|A|A_A|3|CCC|CCC_CCC|5|EEEEE|EEEEE_EEEEE|4|DDDD|DDDD_DDDD",最终打印出的结果为: 1 A A_A
2 BB BB_BB
3 CCC CCC_CCC
4 DDDD DDDD_DDDD
5 EEEEE EEEEE_EEEEE
2 BB BB_BB
3 CCC CCC_CCC
4 DDDD DDDD_DDDD
5 EEEEE EEEEE_EEEEE
解决方案 »
- SqlDependency 一段时间后不监听数据库了
- c# winfrom 怎么通过连接一个服务器发送短信
- 请教关于c#插件技术中传输参数的问题(没有在接口中定义的信息)
- 怎样读取(解吸)wmf文件?(不是简单的显示出来,我要知道他的内容)
- C# 编程如何往数据库载入数据????????
- 请问大家谁知道浏览器插件一般是用什么开发的?
- 用程序控制ctrl + a 选择TextBox中的所有的内容
- 各位帮帮我:怎样访问StringBuilder的内存数据?
- 关于C#,.NET,各位除了上CSDN,还有一些别的什么比较好的论坛么?
- 要装MSVS
- 一个treeview的问题
- DataGridView中,绑定到数据库,如何根据DB中某一列的值自定义显示在DataGridView对应列的值
string str = "2|BB|BB_BB|1|A|A_A|3|CCC|CCC_CCC|5|EEEEE|EEEEE_EEEEE|4|DDDD|DDDD_DDDD";
SortedDictionary<string, List<string>> dic = new SortedDictionary<string, List<string>>();
string[] temp = str.Split('|');
string s = "";
for (int i = 0; i < temp.Length; i++)
{
int j = 0;
if (int.TryParse(temp[i], out j))
{
s = temp[i];
dic.Add(s, new List<string>());
}
else
{
dic[s].Add(temp[i]);
}
}
foreach (string s1 in dic.Keys)
{
Console.Write(s1 + " ");
foreach (string s2 in dic[s1])
Console.Write(s2 + " ");
Console.WriteLine();
}
//写了一个LINQ+Regex实现的方法 仅供参考
void Main()
{
string str="2|BB|BB_BB|1|A|A_A|3|CCC|CCC_CCC|5|EEEEE|EEEEE_EEEEE|4|DDDD|DDDD_DDDD";
var query=(from Match m in Regex.Matches(str,@"(\d+)\|\D+")
orderby Convert.ToInt32(m.Groups[1].Value)
select m.Value.Replace("|"," "));
query.ToList().ForEach(q=>Console.WriteLine(q));\
/*
1 A A_A
2 BB BB_BB
3 CCC CCC_CCC
4 DDDD DDDD_DDDD
5 EEEEE EEEEE_EEEEE */
}
string[] temp = Regex.Replace(str, @"\|(\d+)", @"^$1").Split('^');
Array.Sort(temp, (s1, s2) => int.Parse(s1.Split('|')[0]).CompareTo(int.Parse(s2.Split('|')[0])));
foreach (string s in temp)
Console.WriteLine(s.Replace('|', ' '));
void Main()
{
string str="2|BB|BB_BB|1|A|A_A|3|CCC|CCC_CCC|5|EEEEE|EEEEE_EEEEE|4|DDDD|DDDD_DDDD";
var query=from Match m in Regex.Matches(str,@"(\d+)\|\D+")
orderby Convert.ToInt32(m.Groups[1].Value)
select m.Value.Replace("|"," ");
query.ToList().ForEach(q=>Console.WriteLine(q));
/*
1 A A_A
2 BB BB_BB
3 CCC CCC_CCC
4 DDDD DDDD_DDDD
5 EEEEE EEEEE_EEEEE
*/
}