string text = "--a12    b cccc-dd-+eee+-+fffff----g  h= +-";
string[] target = Regex.Split(text, @"[-,\+\s]+", RegexOptions.IgnoreCase);

解决方案 »

  1.   

    看你需求不就是要获取字母数字但不包含-么
    通过Match
    [0-9A-Za-z]+不就可以了
      

  2.   

    开头和结尾如果是分隔符的话,就会得到空字符串。string text = ",a12    b cccc-dd-+eee+-+fffff----g  h- +-i j,,kkk--,,    ";
    //\s : 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。
    string[] target = Regex.Split(text, @"[\s,+-]+", RegexOptions.IgnoreCase);
      

  3.   

          string text = "--a12    b cccc-dd-+eee+-+fffff----g  h= +-";
                string[] target = Regex.Split(text, @"[-,\=\+\s]+", RegexOptions.IgnoreCase);
    这么切数组的第一位和最后一个会多出来一个空格
      

  4.   

    开头和结尾如果是分隔符的话,就会得到空字符串。string text = ",a12    b cccc-dd-+eee+-+fffff----g  h- +-i j,,kkk--,,    ";
    //\s : 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。
    string[] target = Regex.Split(text, @"[\s,+-]+", RegexOptions.IgnoreCase);
      你这个方式也是一样,我刚测试了。
      

  5.   

    开头和结尾如果是分隔符的话,就会得到空字符串。string text = ",a12    b cccc-dd-+eee+-+fffff----g  h- +-i j,,kkk--,,    ";
    //\s : 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。
    string[] target = Regex.Split(text, @"[\s,+-]+", RegexOptions.IgnoreCase);
      你这个方式也是一样,我刚测试了。是的,好像解决不了开始和结尾有分隔符的情况。
      

  6.   

    开头和结尾如果是分隔符的话,就会得到空字符串。string text = ",a12    b cccc-dd-+eee+-+fffff----g  h- +-i j,,kkk--,,    ";
    //\s : 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。
    string[] target = Regex.Split(text, @"[\s,+-]+", RegexOptions.IgnoreCase);
      你这个方式也是一样,我刚测试了。是的,好像解决不了开始和结尾有分隔符的情况。 这个就不太清楚改怎么解决了,没怎么用过正则了。