[英]Strange, regex.split Method matches one null element
Regex rx = new Regex(@"[+-]");
string[] substrings = rx.Split(expression);
expression =“ - 9a3dcbh-3bca-4ab4cf-3hc”//这是我想在+或 - 之间拆分该字符串的输入字符串。 我的VS调试器显示如下子串数:substrings [0] = null // ???为什么子串[1] = 9a3dcbh substrings [2] = 3bca substrings [3] = 4ab4cf substrings [4] = 3hc
为什么arry的第一个元素为null,是因为我匹配+ - ,而我的输入字符串中没有+?
因为split消除了分隔符,并在分隔符之前和之后返回字符串,在这种情况下,分隔符之前没有字符,因此第一个值是空字符串。
C#Regex.Split - Subpattern返回空字符串 。 第一个答案有一个很好的解释
你可以试试这个:
string split_string = "-3243+324-32-2343";
string[] nums = split_string.Split(new char[] { '-', '+' },
StringSplitOptions.RemoveEmptyEntries);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.