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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 Doublekill 于 2014-3-13 22:12 编辑

string str = "大家好,我是3,我22岁了12,3";
for (int i = 0; i < str.Length; i++)
       {
            if (str >= '0' && str <= '9')
             {
                   Console.WriteLine(str);
               }           
        }
          Console.ReadKey();
这样结果虽然把数字全部显示了,但是都全部分离显示的,我要的22,变成了2,2 求优化。。顺便介绍下方法,新手,谢谢

评分

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

查看全部评分

3 个回复

倒序浏览
本帖最后由 cancle 于 2014-3-12 23:43 编辑

你可以这样写:
  1. string str = "大家好,我是3,我22岁了12,3";
  2. char[] chs={'大','家','好','我','是',',','岁','了',','};
  3. string[] s = str.Split(chs, StringSplitOptions.RemoveEmptyEntries);//把str分割为字符串数组,移除了空格元素
  4. for (int i = 0; i < s.Length; i++)
  5. {
  6.    Console.Write(s[i] + " ");
  7.    }
  8.   Console.ReadKey();
复制代码

回复 使用道具 举报
  1. string str = "大家好,我叫33,我今年22,1了";
  2.             char[] chr = new char[str.Length];//新建一个char数组,将里面的非数字转换为' '
  3.             int j = 0;
  4.             for (int i = 0; i < str.Length; i++)
  5.             {
  6.                 if ((str[i] >= '0') && (str[i] <= '9'))
  7.                 {
  8.                     chr[j] = str[i];
  9.                 }
  10.                 else
  11.                 {
  12.                     chr[j] = ' ';
  13.                 }
  14.                 j++;
  15.             }
  16.             string str1 = new string(chr);//将char数组重新组合在一起
  17.             string[] strarr = str1.Split(' ');//字符串用' '隔开,即分离出不是空格的字符,即数字
  18.             foreach (string s in strarr)//输出
  19.             {
  20.                 if (s.Trim() != "")
  21.                 {
  22.                     Console.WriteLine(s);
  23.                 }
  24.             }
  25.             Console.ReadKey();
复制代码


评分

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

查看全部评分

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