C#如何输入一个字符串,且存放到另一个数组。。。

输入一个字符串,串内有数字和非数字字符,例如,“abs343 324dsad432 dasd534”。将其中连续的数作为一个整数,依次存放到另一个整数数组B中。如将343存放到B[0],324存放到B[1]........统计出字符串中的整数个数,并输出这些数。

第1个回答  2012-03-10
using System.Text.RegularExpressions;
.....
....
MatchCollection B=Regex.Matches("abs343 324dsad432 dasd534",@"\d+");
//B已经是一个集合,可以当数组B[0],B[1]用。
foreach(Match i in B) Console.WriteLine(i);
===========
343
324
432
534
第2个回答  2012-03-11
用string函数中,strcat
第3个回答  2012-03-10
C#程序:

using System;
using System.Collections;

class Program
{
static void Main()
{
string source = "abs343 324dsad432 dasd534";
int[] arr = GetArrayFromString(source);

foreach (int num in arr)
{
Console.WriteLine(num);
}
}

public static int[] GetArrayFromString(string source)
{
char[] arr = source.ToCharArray();
ArrayList list = new ArrayList();
int[] nums;
int i;
int sum;

for (i = 0; i < arr.Length; )
{
sum = 0;
while (i < arr.Length && !(arr[i] >= '0' && arr[i] <= '9'))
i++;
while (i < arr.Length && arr[i] >= '0' && arr[i] <= '9')
sum = sum * 10 + (arr[i++] - '0');
list.Add(sum);
}

nums = new int[list.Count];
IEnumerator temp = list.GetEnumerator();
i = -1;
while (temp.MoveNext())
{
nums[++i] = int.Parse(temp.Current.ToString());
}

return nums;
}
}追问

报错了 ,大哥。

追答

你的程序最前面要加上:
using System;
using System.Collections;

因为ArrayList在System.Collections命名空间中。

我在本地的VS .NET 2005环境下测试了,没问题。

本回答被提问者采纳
第4个回答  2012-03-11
参考下string类吧。看看类的各种方法,里面有的
相似回答