c# - 在 C# 中按大写字母拆分字符串的最佳方法是什么?

标签 c#

在 C# 中按大写字母拆分字符串的最佳方法是什么?

示例:

HelloStackOverflow Users.How Are you doing?

预期结果:

Hello Stack Overflow Users. How are you doing?

最佳答案

您可以使用正则表达式:

static readonly Regex splitter = new Regex(@"\s+|(?=\s*[A-Z]+)|(?<=[,.?!])");

var spacedOut = splitter.Replace(str, " ");

这使用前瞻来匹配大写字母之前的位置(使用 \s* 来吞掉空格)。
它使用后向查找来匹配标点符号后的位置。

关于c# - 在 C# 中按大写字母拆分字符串的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5492626/

相关文章:

c# - 为什么在 main() 退出之前调用 Dispose()?

c# - 需要一些关于排序字符串列表的想法

c# - AddRange 抛出 null 异常

c# - RelayCommand 未触发 MenuItem 单击 WPF MVVM

c# - 更新 EF 中的实体属性,其中属性是另一个实体

c# - 带有 Select 及其 ID 可见或隐藏的 ASP.NET Gridview

c# - FileSystemWatcher - 识别已删除文件夹中的文件

c# - 属性 C# 上的几个 XmlElement 属性

c# - xsd2code - 反序列化 xml 文件时出现问题

c# - 设置 WebBrowser 控件兼容模式不起作用