【发布时间】:2018-02-13 21:08:43
【问题描述】:
如何使用Regex.Split(input, pattern) 方法执行这种拆分?
This is a [normal string ] made up of # different types # of characters
字符串数组输出:
1. This
2. is
3. a
4. [normal string ]
5. made
6. up
7. of
8. # different types #
9. of
10. characters
它还应该保留前导空格,所以我想保留所有内容。一个字符串包含 20 个字符,字符串数组应包含所有元素的 20 个字符。
我尝试过的:
Regex.Split(text, @"(?<=[ ]|# #)")
Regex.Split(text, @"(?<=[ ])(?<=# #")
【问题讨论】:
-
如果有未配对的特殊字符怎么办? “这个[字符串”应该如何拆分?
-
我不知道这是否能解决您的问题,但您的两个示例的问题是,在第一个
[ ]|# #中,只有]|#上的 or 而第二个中的两个拆分彼此之后。[也是一个特殊字符。您正在寻找像(?<=(\[ \])|(# #))这样的东西,尽管(?<=[\[#] [\]#])可能更好。