提问处理字符串
比如我在一个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相加。
------解决方案--------------------都被说完了 我无话可说了