如何使用可重复相邻的分隔符分割字符串而不产生空白部分?

3
怎样使用分隔符来分割字符串,当分隔符可以连续出现且第一个分隔符应该是字符串的一部分?
例如:
ABC::XYZ:QUI

分割应该是:
1) ABC:
2) XYZ
3) QUI

Split(':') 函数不起作用。

1个回答

3
你可以使用正则表达式模式 :(?!:) 进行拆分。
string input = "ABC::XYZ:QUI";
string[] parts = Regex.Split(input, @":(?!:)");
foreach (string part in parts)
{
    Console.WriteLine(part);
}

这个会打印:

ABC:
XYZ
QUI

此处的正则表达式使用负向先行断言来确保我们只在不跟随另一个冒号: 的情况下分割/消耗。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接