我从数据库中取出一个字段的值,比如说是
str="abc123",怎样将字母和数字分开呢
结果例如是str1="abc",str2="123"
求高人指点

解决方案 »

  1.   


    string str="abc123";
    var m = new System.Text.RegularExpressions.Regex("([A-Za-z]+)([0-9]+)").Match(str).Groups;
    string str1 = m[1].Value; //abc
    string str2 = m[2].Value; //123
      

  2.   

    string str = "a1b2c3";
    char[] arr = str.ToCharArray();
    char[] sa = new char[arr.Length];
    char[] na = new char[arr.Length];
    int si = 0;
    int ni = 0;
    foreach (var item in arr)
    {
        if (item > 64)
        {
            sa[si++] = item;
        }
        else
        {
            na[ni++] = item;
        }
    }
    string cstr = new string(sa, 0, si); //abc
    string nstr = new string(na, 0, ni); //123
      

  3.   


    string tempStr = "a23bce56ij";
                string str1 = string.Join("",Regex.Matches(tempStr, @"\d+").Cast<Match>().Select(a=>a.Value));//2356
                string str2 = string.Join("", Regex.Matches(tempStr, @"(?i)[a-z]+").Cast<Match>().Select(a => a.Value));//abceij
      

  4.   

                string str = "a23bce56ij";
                string str1=string.Empty;
                string str2 = string.Empty;
                foreach (char ch in str)
                {
                    int result;
                    if (int.TryParse(Convert.ToString(ch), out result))
                        str1 += ch;
                    else
                        str2 += ch;
                }
    其中str1为数字,str2为字母