我有这种格式的字符串:110001101
,我想将 string
拆分为 string[]
分组 block 1
或 0
。
所以我会从那个字符串中拆分 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();
结果:
这将起作用,因为您的输入字符串中没有除 0
或 1
以外的符号,并且捕获的文本也作为数组元素输出。 LINQ 代码有助于从结果数组中消除任何不受欢迎的空元素(只有 0
就是这种情况)。
关于c# - 将二进制字符串拆分为分组数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32473912/