日期:2014-05-20  浏览次数:20580 次

如何快速的处理这个字符串。快接分。
551111,311211,236115,236115,511110,311311
把它变成这样的
551111,311211(2),236115(2),511110,
实现它不难,但是要求简便高效,代码少。

------解决方案--------------------
没有思路,抢个沙发吧!

------解决方案--------------------
1.放进数据库,查询,实现简单
2.放进数组,遍历,麻烦,效率也不行,
等楼下的
------解决方案--------------------
数组,都觉得麻烦的话……………………
------解决方案--------------------
用数组
这个是不可避免的
------解决方案--------------------
string dstString = "551111,311211,236115,236115,551111,311311 ";
string[] dstStrs = dstString.Split( ', ');

NameValueCollection nc = new NameValueCollection();
for(int i = 0, j = dstStrs.Length; i < j; i++)
{
nc.Add(dstStrs[i], dstStrs[i]);
}

string[] keys = nc.AllKeys;
for(int i = 0; i < keys.Length; i++)
{
string strOutput = string.Format( "{0}{1}{2} ", keys[i], ((nc.GetValues(keys[i]).Length > 1)? "( " + nc.GetValues(keys[i]).Length.ToString() + ") " : string.Empty), ", ");
Console.WriteLine(strOutput);
}

需要System.Collections.Specialized 命名空间
------解决方案--------------------
用hashTable來做,應該很快的