日期:2014-05-18  浏览次数:21062 次

请问一下C#如何截取(刘德华#200#300#400)成(刘德华#900)
用c#的高手给个算法
题是
刘德华#200#300#400
成龙#89#30
李连杰#50#1400#1
周星驰#110#20#60#70
结果是
刘德华#900
成龙#129
李连杰#1451
周星驰#260
帮忙想一下啊

------解决方案--------------------
C# code
using System; 

class Program
{
static string Convert(string s)
{
  string[] t = s.Split('#');
  if (t.Length < 2) return s;
  int i;
  int sum = 0;
  foreach (string u in t)
  {
  if (int.TryParse(u, out i)) sum += i;
  }
  return string.Format("{0}#{1}", t[0], sum);
}

static void Main()
{
  string s = @"刘德华#200#300#400
成龙#89#30
李连杰#50#1400#1
周星驰#110#20#60#70";
  foreach (string t in s.Split('\n'))
  {
  Console.WriteLine(Convert(t));
  }
}
}
/* 程序输出:
刘德华#900
成龙#119
李连杰#1451
周星驰#260
*/