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

标签 c# regex split

我想使用 Regex 类中的 Split 函数拆分字符串。问题是它删除 分隔符,我想保留它们。最好作为 splitee 中的单独元素。

根据 other discussions我发现,只有不方便的方法才能实现这一目标。

有什么建议吗?

最佳答案

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

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

结果:

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

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

  • JavaScript:"123.456.789".split(/(\.)/g)
  • Python:re.split(r"(\.)", "123.456.789")
  • Perl:split(/(\.)/g, "123.456.789")

(虽然不是 Java)

关于c# - 如何保留 Regex.Split 的分隔符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15667927/

相关文章:

c# - EndianBinaryReader - 输入流的连续更新?

regex - 在 Google 文档中对 IMPORTRANGE 使用 REGEXEXTRACT

java - Java中如何根据下划线分割句子

c# - 为什么不能从泛型约束中隐式推断出 `this` 的类型转换?

部分 View 刷新后未调用 JavaScript 函数

c# - CaSTLe Windsor 组件注册上下文中的 "ForwardedTypes"是什么?

python - 如何计算 Python 文本文件中超长字符串中最长的重复字符序列

regex - Notepad++ 搜索并替换 : delete all after "/" in each row

java - 无法执行字符串拆分

mysql - 在 MySQL 中将 Varchar 拆分为字符