A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 奔跑的胖子 中级黑马   /  2013-10-27 18:11  /  1560 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

怎么判断一个很长的字符串里的元素是不是数字啊

评分

参与人数 1技术分 +1 收起 理由
陈行 + 1

查看全部评分

11 个回复

倒序浏览
1.遍历字符串中每个元素
2.对每个元素进行判断就行了  会正则的话最好
回复 使用道具 举报
张锟-i 发表于 2013-10-27 18:36
1.遍历字符串中每个元素
2.对每个元素进行判断就行了  会正则的话最好

要怎么判断呢,判断是int类型有什么方法啊
回复 使用道具 举报
需求一、看有没有数字
char[] chs = str.ToCharArray();   //将字符串转换成字符数组。
            for (int i = 0; i < chs.Length; i++)   
            {
                try
                {
                    double number = double.Parse(chs[i].ToString());  //将字符转换成字符串,再将字符串转换成数组
                    Console.WriteLine("字符串中有数字");      //转换成功,字符串中有数字
                    break;
                }
                catch
                {               
                }
            }
            Console.ReadKey();


需求二。输出字符串中的数字
char[] chs = str.ToCharArray();   //将字符串转换成字符数组。
            for (int i = 0; i < chs.Length; i++)   
            {
                try
                {
                    double number = double.Parse(chs[i].ToString());  //将字符转换成字符串,再将字符串转换成数组
                    Console.WriteLine(number);      //转换成功,输出数字

                }
                catch
                {               
                }
            }
            Console.ReadKey();

评分

参与人数 1技术分 +1 收起 理由
追溯客 + 1

查看全部评分

回复 使用道具 举报
  1.         static void Main(string[] args)
  2.         {
  3.             string str = "sldlllhs13kh2k34lalsdf3";
  4.             foreach (char c in str)
  5.             {
  6.                 if(char.IsNumber(c))
  7.                     Console.WriteLine(c);
  8.             }
  9.             Console.ReadKey();
  10.         }
复制代码

评分

参与人数 1技术分 +1 收起 理由
追溯客 + 1

查看全部评分

回复 使用道具 举报
奔跑的胖子 发表于 2013-10-27 18:42
要怎么判断呢,判断是int类型有什么方法啊

/*从一段文本中提取所有的数字。*/  
  
        static void Main(string[] args)  
        {            
            Console.WriteLine("请输入一段文本信息:");  
            //接受文本信息  
            string szInput = Console.ReadLine();  
            //遍历文本信息  
            for (int i = 0; i < szInput.Length; i++)  
            {  
                //检索每一个字符  
                char ele = szInput.ElementAt(i);  
                //判断字符是否为数字  
                if (ele >= '0' && ele <= '9')  
                {  
                    //输出数字  
                    Console.Write(ele+"  ");  
                }  
            }  
            Console.ReadKey();  

评分

参与人数 1技术分 +1 收起 理由
追溯客 + 1

查看全部评分

回复 使用道具 举报
可以通过遍历字符串中的每一个字符来判断这个字符串中是不是有数字
  1. string str = "adf123";
  2.             for (int i = 0; i < str.Length; i++)
  3.             {
  4.                 try
  5.                 {
  6.                     int n = Convert.ToInt32(str[i].ToString());//str[i]是字符类型,需要转换成字符串类型
  7.                     Console.WriteLine("字符串{0}中有数字{1}", str, str[i]);
  8.                 }
  9.                 catch
  10.                 {

  11.                 }
  12.             }
  13.             Console.ReadKey();
复制代码

评分

参与人数 1技术分 +1 收起 理由
追溯客 + 1

查看全部评分

回复 使用道具 举报
     把字符串转换成char数组,然后循环遍历每个元素,用try{里面放 convert.toint32语句}catch{},如果转换成功加输出语句,不成功说明没有数字你在catch中加个标志就行。这是我的思路。

评分

参与人数 1技术分 +1 收起 理由
追溯客 + 1

查看全部评分

回复 使用道具 举报
张锟-i 发表于 2013-10-27 18:50
/*从一段文本中提取所有的数字。*/  
  
        static void Main(string[] args)  

这个不行啊,没有elementat方法啊
回复 使用道具 举报

谢谢啦,问题解决啦
回复 使用道具 举报
问题解决请将分类设为"已解决".黑马有你更精彩
回复 使用道具 举报
奔跑的胖子 发表于 2013-10-27 19:19
这个不行啊,没有elementat方法啊

MSDN 帮助文档
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马