Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将二进制字符串拆分为分组数字_C#_Regex_String Split - Fatal编程技术网

C# 将二进制字符串拆分为分组数字

C# 将二进制字符串拆分为分组数字,c#,regex,string-split,C#,Regex,String Split,我有这种格式的字符串:110001101,我想将string按1s或0s的分组块拆分为string[] 所以从这个字符串中,我将得到拆分的string[]={“11”,“000”,“11”,“0”,“1”} 我不知道从哪里开始,用正则表达式能做到这一点吗?或者我应该找到另一个解决方案…所以您想要连续的零(0+)或连续的零(1+)。只需迭代匹配项: 0+|1+ 所以您需要连续的零(0+)或连续的一(1+)。只需迭代匹配项: 0+|1+ 您可以使用捕获机制,使用Regex.Split和一个(0+

我有这种格式的字符串:
110001101
,我想将
string
1
s或
0
s的分组块拆分为
string[]

所以从这个字符串中,我将得到拆分的
string[]={“11”,“000”,“11”,“0”,“1”}


我不知道从哪里开始,用正则表达式能做到这一点吗?或者我应该找到另一个解决方案…

所以您想要连续的零(
0+
)或连续的零(
1+
)。只需迭代匹配项:

0+|1+

所以您需要连续的零(
0+
)或连续的一(
1+
)。只需迭代匹配项:

0+|1+

您可以使用捕获机制,使用
Regex.Split
和一个
(0+)
Regex,如下所示:

var txt5 = "110001101";
var res5 = Regex.Split(txt5, @"(0+)").Where(p => !string.IsNullOrEmpty(p)).ToArray();
结果:


这将起作用,因为您的输入字符串中除了
0
1
之外没有其他符号,捕获的文本也将作为数组元素输出。LINQ代码有助于从生成的数组中消除任何不受欢迎的空元素(仅适用于
0
s)。

您可以使用捕获机制,使用
Regex.Split
,只需
(0+)
Regex,如下所示:

var txt5 = "110001101";
var res5 = Regex.Split(txt5, @"(0+)").Where(p => !string.IsNullOrEmpty(p)).ToArray();
结果:

这将起作用,因为您的输入字符串中除了
0
1
之外没有其他符号,捕获的文本也将作为数组元素输出。LINQ代码有助于从生成的数组中消除任何不受欢迎的空元素(仅适用于
0
s)