现在有许多字符串,想要把这些字符串按照一定的格式取出来,应该怎么办,请达人帮忙。如: BA300RE   BY350   UY43Y取出格式  BA300    BY350    UY43所有的字符串都是类似这三种类型的,每个字符串中都有数值,我现在想去掉所有数值后面的字符(如果后面没有字符,则不改变)。

解决方案 »

  1.   

    如果中间必有数字的话就不断判断最后一个是不是字母,用int.Parse(最后一位的值)来判断,出异常就说明不是数字了,在异常处理中TrimEnd(最后一位的值),这样应该可行的,不过效率不一定高吧。。
      

  2.   

    string demo = "BA300RE";
    Regex.Match(demo,"\w*\d+").Value
      

  3.   


    就代码吧
    先Split
                string str;
                int i = str.Length-1;
                for (;i > 0; i--)
                {
                    if (char.IsDigit(str[i]))
                    {
                        break;
                    }
                }
                str = str.Substring(i);
      

  4.   

    谢谢楼上的帮助,问题已经解决了。tony008的代码应该为string str;
                int i = str.Length-1;
                for (;i > 0; i--)
                {
                    if (char.IsDigit(str[i]))
                    {
                        break;
                    }
                }
                str = str.Substring(0,i+1);感谢min_jie 和chinaicm给的正则表达式string demo = "BA300";
    string pp = Regex.Match(demo, "[a-zA-Z]+[0-9]+").Value;给分!