用C#实现 正则效果
给出一个串例如 AA&AA   (WHITE)  BBBB * (WD99D) 得出来结果 AA-AA-WHITE-BBBB-WD99D-分析就是如果不是数字或者字母就将任何字符替换成-  如果出现几个空格和几个符号连在一起就换成一个"-"求大家帮忙写个谢谢了,

解决方案 »

  1.   


    void Main()
    {
    string str="AA&AA (WHITE) BBBB * (WD99D)";
    Console.WriteLine(Regex.Replace(str,@"(?<=[a-zA-Z\d]+)[^a-zA-Z\d]+","-"));
    //AA-AA-WHITE-BBBB-WD99D-
    }
      

  2.   

                          
      string inputs = "AA&AA (WHITE) BBBB * (WD99D)";
      string patterns = @"[\W]+";           
      string srp= Regex.Replace(inputs, patterns, "-");
    //AA-AA-WHITE-BBBB-WD99D-
      

  3.   


    string str = "AA-AA-WHITE-BBBB-WD99D-";            Regex reg = new Regex(@"\W");            string result = reg.Replace(str, "-");
      

  4.   

    贴错了!!
    string str = "AA&AA (WHITE) BBBB * (WD99D)";            Regex reg = new Regex(@"\W+");            string result = reg.Replace(str, "-");
      

  5.   

    呵呵。楼上两个就是来骗分数的。
    string str = "AA&AA (WHITE) BBBB * (WD99D)";
    Regex reg = new Regex(@"\W+");
    string result = reg.Replace(str, "-");
    //这个结果是能够得到AA-AA-WHITE-BBBB-WD99D-
    如果
    string str = "AA&AA (WHITE) BB_天天BB * (WD99D)";
    //得出的结果是AA-AA-WHITE-BB_天天BB-WD99D-因为\W+匹配的是“任意不是字母,数字,下划线,汉字的字符”
      

  6.   

    的确有错误,最近在学正则,抱歉了,改了一下string str = "AA&AA (WHITE) BB_天天BB * (WD99D)";            Regex reg = new Regex(@"[^a-zA-Z0-9]+");            string result = reg.Replace(str, "-");