C#正则表达式拆分二进制字符串 - c#

我正在尝试以特定方式拆分一串二进制数字

假设这是我的字符串100011001110010101110

我想在1之前的每个0处拆分字符串

所以分割后的上面的字符串变成

1000 1100 11100 10 10 1110

我使用了正则表达式模式/(1+0+)/g,该模式可以正确分割字符串,但是会丢失某些组。
这是C#代码

Regex.Split(stringToSplit, @"(1+0+)");

请我怎么了。

编辑:我没有提到我确定1将始终在0之前

提前致谢。

参考方案

您可以尝试向前和向后看,即,溢出到零长度文本上,在拆分后紧跟0,在拆分前紧跟1

码:

  string source = "100011001110010101110";

  var result = Regex.Split(source, "(?<=0)(?=1)");

  // Let's have a look
  Console.Write(string.Join(Environment.NewLine, result));

结果:

1000
1100
11100
10
10
1110

编辑:模式(?<=0)(?=1)说明:

(?<=0) - 0 should be behind the split
       - empty; split on epmty (zero-length) text
(?=1)  - 1 should be ahead of the split

所以我们有

1000 110011
   ^^^
   |||- 1 should be ahead of split
   ||--   split here
   |--- 0 should be behind the split

用大写字母拆分字符串,但忽略AAA Python Regex - python

我的正则表达式:vendor = "MyNameIsJoe. I'mWorkerInAAAinc." ven = re.split(r'(?<=[a-z])[A-Z]|[A-Z](?=[a-z])', vendor) 以大写字母分割字符串,例如:'我的名字是乔。 I'mWorkerInAAAinc”变成…

当回复有时是一个对象有时是一个数组时,如何在使用改造时解析JSON回复? - java

我正在使用Retrofit来获取JSON答复。这是我实施的一部分-@GET("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…

Mongo汇总 - javascript

我的收藏中有以下文件{ "_id": ObjectId("54490b8104f7142f22ecc97f"), "title": "Sample1", "slug": "samplenews", "cat": …

如何在Wiremock中为JUNIT匹配精确的json - java

我正在使用Wiremock在Spring启动应用程序中模拟Junit的REST服务。我的问题是,我无法匹配多个匹配模式。 Junit.javaStringValuePattern pattern = WireMock.matching(".*"); givenThat(post(urlEqualTo("/softwares�…

jQuery DataTable TableTool在IE和Firefox中不起作用 - c#

我在MVC4 ASP.NET Web应用程序中使用Jquery DataTable TableTool。导出到Excel和PDF可以与Chrome完美配合。但是不能在IE和FireFox中使用。我的代码如下 dom: 'T<"clear">lfrtip', tableTools: { "sSwfP…