使用正则表达式按逻辑拆分字符串
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);
我有以下字符串:
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);