c# – 除了首字母缩写词之外,拆分PascalCase字符串

我有一个需要人类可读的单词列表,例如FirstName到First Name,LastName到Last Name,在某些情况下,像ARB这样的首字母缩略词保持原样.后者最近被引入并且由于我们的正则表达式返回AR Bs而​​导致显示问题.这就是我们所拥有的,我知道这对于首字母缩略词是不够的:
([A-Z][a-z]+)
@H_403_4@我在SO和其他网站上找到了能够使用首字母缩略词的其他表达式,但是它们可以处理字符串,其中首字母缩写词在字符串中而不是整个字符串.我可以做简单的正则表达式,但这对我的技能来说太棘手了.我会提供其他测试示例,如果我有它们,但所有的字符串工作正常,除了新的,ARBs.谢谢.

@H_403_4@更新:这是代码用法

string friendlyName = Regex.Replace(field.Name,"([A-Z][a-z]+)"," $1",RegexOptions.Compiled).Trim();

解决方法

不会[A-Z] [a-z] *这样做吗?这应匹配一个或多个大写字母,后跟零个或多个小写字母.因此,ARB将保持单一实体,但CamelCase将分为Camel Case.

相关文章

在项目中使用SharpZipLib压缩文件夹的时候,遇到如果目录较深,则压缩包中的文件夹同样比较深的问题。比...
项目需要,几十万张照片需要计算出每个照片的特征值(调用C++编写的DLL)。 业务流程:选择照片...
var array = new byte[4]; var i = Encoding.UTF8.GetBytes(100.ToString("x2"));//...
其实很简单,因为Combox的Item是一个K/V的object,那么就可以把它的items转换成IEnumerable<Dic...
把.net4.6安装包打包进安装程序。 关键脚本如下: 头部引用字符串对比库 !include "WordFunc....
项目需求(Winform)可以批量打印某个模板,经过百度和摸索,使用iTextSharp+ZXing.NetʿreeSp...