原文:http://social.msdn.microsoft.com/Forums/vstudio/zh-CN/60664269-66b4-422a-82b5-6ccfad15c50f/c?forum=visualcshartzhchs
字符串为:3,0|5,0|6,0|7,0|8,0|9,0|
需要将其拆分,首先以|拆分开,然后:3,0表示键值,他们是一组的,可以分别提取到。如何快速实现,泛型,数组,请给一个示例,谢谢。
string s = "3,0|5,0|6,0|7,0|8,0|9,0|";
Regex reg=new Regex(@"\d,\d");
MatchCollection mc = reg.Matches(s);
foreach (Match m in mc)
{
if (m.Success)
{
Console.WriteLine(m.Groups[0].Value);
}
}
如果就是这么一个很短的数组的话其实不管用数组还是正则表达式都无所谓,看不出来效率的高低,除非字符串特别长。
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click HERE to participate the survey.
- 已标记为答案 ThankfulHeartMVP, Moderator 2013年11月28日 3:16
string ss="3,0|5,0|6,0|7,0|8,0|9,0|";
string[] strin = ss.Split(char.Parse("|"));
string[][] InStr=new string[strin.Length][];
for (int i = 0; i < strin.Length; i++)
{
InStr[i] = strin[i].Split(char.Parse(","));
}
string s = "3,0|5,0|6,0|7,0|8,0|9,0|";
string[] values = s.Split(new char[]{'|'},StringSplitOptions.RemoveEmptyEntries);
var result = (from item in values
let sv = item.Split(',')
select new
{
Key = sv[0],
Value = sv[1]
});