【问题标题】:How to Split string but keep delimiter at the start [duplicate]如何拆分字符串但在开头保留分隔符[重复]
【发布时间】:2021-03-05 20:44:24
【问题描述】:

我想知道如何在 C# 中拆分字符串,但将分隔符保留在每个子字符串的开头。

例子:

输入:"1,2,3,4,5,6"

分隔符:','

输出:{'1', ',2', ',3', ',4', ',5', ',6'}

目前我只知道使用来自this answer 的 Regex.Split 将分隔符保留在每个子字符串的末尾。

 String text = "1,2,3,4,5,6";
 var split = Regex.Split(text, @"(?<=,)");

【问题讨论】:

    标签: c# regex string split


    【解决方案1】:

    您需要使用前瞻来拆分:

    (?=,)
    

    RegEx Demo

    当你在下一个位置有逗号时,你想要在一个位置上拆分,这使它成为 lookahead assertion。另一方面,当我们在前一个位置有逗号时,后向断言将分裂,因此在逗号之后而不是在它之前分裂。

    代码:

    String text = "1,2,3,4,5,6";
    var split = Regex.Split(text, @"(?=,)");
    //=> ["1", ",2", ",3", ",4", ",5", ",6"]
    

    【讨论】:

      猜你喜欢
      • 2018-12-23
      • 2016-08-07
      • 1970-01-01
      • 2019-10-03
      • 2010-09-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多