【问题标题】:Split a string using one of two delimiters but retain delimiter使用两个分隔符之一拆分字符串,但保留分隔符
【发布时间】:2014-10-28 22:49:29
【问题描述】:

使用正则表达式(或其他方法),我将如何在 5050 或 1010 处拆分此文本

505079000012345    ORE
10201 00
1030CA
1030AL
505079000012346    ORE
10201 00
1030CA
1030AL
101014003412    ORE
10201 00
1030CA
1030AL
505079000012347    ORE
10201 00
1030CA
1030AL
101014003413    ORE
10201 00
1030CA
1030AL

所以得到的字符串是(注意我想在每个字符串组的开头保留分隔符字符串):

505079000012345    ORE
10201 00
1030CA
1030AL

505079000012346    ORE
10201 00
1030CA
1030AL

101014003412    ORE
10201 00
1030CA
1030AL

505079000012347    ORE
10201 00
1030CA
1030AL

101014003413    ORE
10201 00
1030CA
1030AL

【问题讨论】:

  • 所以50501010 是两个组,或者仅当它们被5050 1010 中的空格分隔时?

标签: c# regex split


【解决方案1】:

将此模式与mg 选项一起使用

^(?=5050|1010)  

Demo

或
\R(?=5050|1010) 并替换为 \r\n\r\n Demo

【讨论】:

    【解决方案2】:

    您可以使用 :

    捕获所有匹配项
    /((?:5050|1010)(?:(?!5050|1010).)*)/gs
    

    DEMO(查看右侧面板上的匹配信息)

    结果是每个匹配的数组

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2018-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多