小编典典

如何保留Regex.Split的分隔符?

c#

我想使用类中的Split函数拆分字符串Regex。问题是它 删除 了定界符,我想保留它们。优选地,作为分隔物中的单独元件。

根据我发现的其他讨论,只有一些不方便的方法可以实现该目的。

有什么建议么?


阅读 606

收藏
2020-05-19

共1个答案

小编典典

只需将模式放入捕获组,匹配项也将包括在结果中。

string[] result = Regex.Split("123.456.789", @"(\.)");

结果:

{ "123", ".", "456", ".", "789" }

这也适用于许多其他语言:

  • JavaScript"123.456.789".split(/(\.)/g)
  • Pythonre.split(r"(\.)", "123.456.789")
  • Perlsplit(/(\.)/g, "123.456.789")

(虽然不是Java)

2020-05-19