当前位置: 代码迷 >> C# >> C#正则表达式,该如何解决
  详细解决方案

C#正则表达式,该如何解决

热度:308   发布时间:2016-05-05 05:25:18.0
C#正则表达式
有一个字符串,其中可能包含分隔符为(分隔符个数>=1,并且可能不同):  空格(" ")、制表符("\t")、横杠("-")、加号("+")

如下代码得不到想要结果(想得到a12、b、cccc、dd、eee、fffff、g、h等字符串):
string text = "--a12    b cccc-dd-+eee+-+fffff----g  h= +-";
string[] target = Regex.Split(text, @"[, \t-+]+", RegexOptions.IgnoreCase);

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

------解决思路----------------------
引用:
Quote: 引用:


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

开头和结尾如果是分隔符的话,就会得到空字符串。

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);

  你这个方式也是一样,我刚测试了。