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

提问处理字符串
比如我在一个textbox里有这几个数据

测试One   #32#22#345

测试Two   #33#22#444

请怎么取出测试One的   三个数字   并相加?
和测试TWO的三个数字相加   ???

想来想去没啥思路~



------解决方案--------------------
一个简单的方法:
先用SubString得到#以后的字符串,再用String.Split分隔开各个数字字符串,再以数字形式相加!
------解决方案--------------------
split ,然后从第二个元素开始转换、相加。



------解决方案--------------------
string[] arr = textbox.Text.Split( "# ");
int sum = 0;
for(int i=1; i <arr.Length; i++)
{
sum += arr[i];
}
------解决方案--------------------
http://blog.csdn.net/sunheartlee/archive/2007/02/11/1507384.aspx

string str1 = "#32#22#345 ";
string str2 = "#33#22#444 ";

private void CalResult()
{
int a1 = GetArraySum(str1);
int a2 = GetArraySum(str2);
}

private int GetArraySum(string str)
{
string[] strs = str.SubString(1).split( "# ");
int result = 0;
foreach(string aStr in strs)
{
result += int.Parse(aStr);
}
return result;
}
------解决方案--------------------
主要是Split( "# ")的应用
http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/vblr7/html/vafctSplit.asp
------解决方案--------------------
//都一样

string s = "测试One #32#22#345 ";
int num = 0;
foreach (string t in s.Split( '# '))
{
int i;
if (int.TryParse(t, out i)) num += i;
}
MessageBox.Show(num.ToString());

------解决方案--------------------
SubString和string.split结合使用
------解决方案--------------------
string a = "测试One #32#22#345 ";
string b = "测试Two #33#22#444 ";
a = a.Substring(a.IndexOf( '# ')+1);
b = b.Substring(b.IndexOf( '# ')+1);
string[] aRR = a.Split( '# ');
string[] bRR = b.Split( '# ');

int count = 0;
for (int ix = 0; ix < aRR.Length; ix++ )
{
count += int.Parse(aRR[ix]);
}
for (int ix = 0; ix < bRR.Length; ix++)
{
count += int.Parse(bRR[ix]);
}

//输出count....
------解决方案--------------------
用split分割,在用foreach相加。
------解决方案--------------------
都被说完了 我无话可说了