Regex rx = new Regex(@"[+-]");
string[] substrings = rx.Split(expression);
expression =“ - 9a3dcbh-3bca-4ab4cf-3hc”//这是输入字符串 我想在+或 - 之间拆分该字符串。 我的VS调试器显示如下的子串数组: substrings [0] = null // ???为什么 子串[1] = 9a3dcbh 子串[2] = 3bca 子串[3] = 4ab4cf 子串[4] = 3hc
为什么arry的第一个元素为null,是因为我匹配+ - ,而我的输入字符串中没有+?
答案 0 :(得分:1)
因为split删除了分隔符,并在分隔符之前和之后返回字符串,在这种情况下,分隔符之前没有字符,因此第一个值是空字符串。
答案 1 :(得分:0)
C# Regex.Split - Subpattern returns empty strings。第一个答案有很好的解释
你可以试试这个:
string split_string = "-3243+324-32-2343";
string[] nums = split_string.Split(new char[] { '-', '+' },
StringSplitOptions.RemoveEmptyEntries);