c# - 将 Pascal 大小写字符串拆分为逻辑单词集

标签 c# regex string

<分区>

我想采用 pascal 大小写的字符串,如“CountOfWidgets”,并将其转换为对用户更友好的字符串,如 C# 中的“Count of Widgets”。多个相邻的大写字符应保持原样。最有效的方法是什么?

注意:重复 .NET - How can you split a "caps" delimited string into an array?

最佳答案

不知道高效但至少它是简洁的:

Regex r = new Regex("([A-Z]+[a-z]+)");
string result = r.Replace("CountOfWidgets", m => (m.Value.Length > 3 ? m.Value : m.Value.ToLower()) + " ");

关于c# - 将 Pascal 大小写字符串拆分为逻辑单词集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/291804/

相关文章:

c# - 正则表达式替换字符串中的第 n 个元素并添加自定义 HTML 标签

c# - 如何将实现公共(public)接口(interface)的集合添加在一起

regex - 我必须在 Perl 预编译正则表达式中转义哪些字符?

java - Java 是否支持多行字符串?

c++ - 异常错误 : Access violation reading location 0xDDDDDDDD

c# - 如何模拟多重继承并使用反射来优化此代码?

c# - 重试取消消息框

regex - 修复preg_match规则不匹配标签 “<”的开头

java - 如何从特定格式的字符串中提取数字?

java - String.substring(i,j) 方法获取空格而不是实际字符