C#如何输入一个字符串,且存放到另一个数组。。。
输入一个字符串,串内有数字和非数字字符,例如,“abs343324dsad432dasd534”。将其中连续的数作为一个整数,依次存放到另一个整数数组B中。如将343存放...
输入一个字符串,串内有数字和非数字字符,例如,“abs343 324dsad432 dasd534”。将其中连续的数作为一个整数,依次存放到另一个整数数组B中。如将343存放到B[0],324存放到B[1]........统计出字符串中的整数个数,并输出这些数。
展开
4个回答
展开全部
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
.....
....
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用string函数中,strcat
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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;
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环境下测试了,没问题。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
参考下string类吧。看看类的各种方法,里面有的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询