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

标签 c# regex split

我有这种格式的字符串:110001101,我想将 string 拆分为 string[] 分组 block 10

所以我会从那个字符串中拆分 string[] = { "11", "000", "11", "0", "1"};

是否可以使用 Regex 实现,我不知道从哪里开始?或者我应该找到另一种解决方案...

最佳答案

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

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

结果:

enter image description here

这将起作用,因为您的输入字符串中没有除 01 以外的符号,并且捕获的文本也作为数组元素输出。 LINQ 代码有助于从结果数组中消除任何不受欢迎的空元素(只有 0 就是这种情况)。

关于c# - 将二进制字符串拆分为分组数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32473912/

相关文章:

python - 使用 Python Pandas 按不同字符切片字符串

javascript - .split() 保持 split 特征

c# - 与 Code First C# 的一对零或一对一关系

c# - 如何将常用图像格式保存到DICOM?

regex - 使用 sed,在不同长度的单词周围加上引号

python - 研究Python中特殊字符的问题

c# - VS Designer 错误 : GenericArguments[0], 'X' on 'Y' 违反了类型参数 'Z' 的约束

C#,运算符 '??' 不能应用于类型 'decimal' 和 'decimal' 的操作数

java - 我可以在 split() 中使用字符串数组来指定分隔符吗?

java - Grails:拆分包含管道的字符串