使用正则表达式按逻辑拆分字符串

Split String by logicals with Regex

我有以下字符串:

string text = "Hello && my || Name & is | Tom"

现在我想将字符串拆分成不同的部分,单词之间没有逻辑运算符。我尝试了以下方法,但我只得到一个包含整个文本的字符串。

String[] result= Regex.Split(text, @"\&&\||\&\|");

怎么了?

预期输出是一个包含 5 个字符串的数组:

将您的代码更改为,

String[] result= Regex.Split(text, @"\s*[|&]+\s*");

这会根据一个或多个 |& 符号拆分您的输入。 \s* 匹配零个或多个空格,[|&]+ 匹配一个或多个 |& 符号。

没有正则表达式解决方案,只是拆分:

String[] result = text.Split(new Char[] { '|', '&' }, StringSplitOptions.RemoveEmptyEntries);