黑马程序员技术交流社区

标题: 字符串 [打印本页]

作者: 天行    时间: 2013-3-13 18:14
标题: 字符串
string[] str={"asd","23","sd","45","v","5"};如何把该数组的数字取出放到一个int数组中?


作者: 靳石磊    时间: 2013-3-13 18:35
用正则表达式
作者: 天行    时间: 2013-3-13 18:43
给段源码
多谢啦!

作者: 曾玉锋    时间: 2013-3-13 19:03
本帖最后由 曾玉锋 于 2013-3-13 19:16 编辑

我晕了,改不了

作者: 曾玉锋    时间: 2013-3-13 19:20
string[] str={"asd","23","sd","45","v","5"};
List<int> list=new List<int>();
foreach(string item in str)
{
    //1.
   //int num;
    // if(int.TryParse(item,out num))
    //{
       // list.add(num);
    //}
    //2.
     if(Regex.IsMatch(item,@"\d+"))
    {
        list.add((int)item);
     }
}

int[] arr=list.ToArray();
作者: 天行    时间: 2013-3-13 21:25
有道理!呵呵呵 谢了!

作者: 宋健    时间: 2013-3-13 21:52
这个问题可以用try-catch和List一起解决。  
            string[] str = { "asd", "23", "sd", "45", "v", "5" };
            List<int> numsList = new List<int>();//建立List存储转换成功的数字
            int num = 0;
            
            for (int i = 0; i <str.Length; i++)
            {
                try
                {
                    num = Convert.ToInt32(str[i]);//进行转换
                    numsList.Add(num);
                }
                catch
                {

                }
            }
            int[] numsNew=numsList.ToArray();

            foreach (var item in numsNew)
            {
                Console.WriteLine(item);
            }
            Console.ReadKey();
作者: 天行    时间: 2013-3-13 21:56
奥!原来try_catch可以清除报错 有了新解 呵呵谢了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2