黑马程序员技术交流社区

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

作者: 许万里    时间: 2013-3-9 11:32
标题: 字符串问题
怎么从一段文本中提取所有的数字。
作者: 杞文明    时间: 2013-3-9 12:03
这个题好像在哪里见过?? 额呵呵额
作者: 颜晓峰    时间: 2013-3-9 13:16
string s="abc123cc55c5";
int a;
//用for()+substring()循环读取字符串S中的所有元素
for(int i=0;i<s.length-1;i++)
{
string s1=s.substring(i,1);
//判断是否为整数
if(int.TryParse(s1, out a) != true)
{
console.write(s1);
}
}
console.ReadLine();

这是一种方法,写个大概,其他自己补完。
也可以用正则匹配等。方法很多,还在于各人的理解与喜好。
作者: 余攀    时间: 2013-3-9 13:57
Console.WriteLine("请输入一个带有数字的字符串:"); //提示输入一段文本
            
            string str = Console.ReadLine(); //读取文本
            char[] ch = str.ToCharArray();  //将字符串转化成字符数组

            bool flag = true;

            for(int i=0;i< ch.Length;i++)
            {
                //将字符数组的值逐个转化对应的ASCII整数值,然后在0-9这个范围(48-57)内的则是数字
                if (Convert.ToInt32(ch[i]) >= 48 && Convert.ToInt32(ch[i]) <= 57)
                {
                    //输出数字
                    Console.WriteLine("第{0}个数字为{1}", i + 1, ch[i]);
                    flag = false;  //如果有数字则该标志flag=false.
                }
                else
                {
                    //
                }
            }
            if (flag == true )
            {
                Console.WriteLine("该字符串无数字!");
            }
            Console.ReadKey();
作者: 陈振宇    时间: 2013-3-9 18:44

public string IsNum(String str)

    {

        string ss="";

        for (int i = 0; i < str.Length; i++)

        {
            if (Char.IsNumber(str, i) == true)
            {
                ss += str.Substring(i, 1);
            }
            else
            {
                if (str.Substring(i, 1) == ",")
                {
                    ss += str.Substring(i, 1);
                }
            }
        }
        return ss;
    }

Console.Write(IsNum("aaa139504928bbb11ccc,888"));//你们看下效果就知道了.

作者: 曾玉锋    时间: 2013-3-9 22:15
//用正则表达式,很简单的
List<string> list=new List<string>();
string str="abd134dafa134314kjkj4kl1j3k4lj31klj4k3j124kj13l431241343124";//字符串或者文本
MatchCollection mc=Regex.Matches(str,@"\d+");
for(int i=0;i<mc.Count;i++)
{
   list.Add(mc[i].Value);
}




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