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

我有一个需要人类可读的单词列表,例如FirstName到First Name,LastName到Last Name,在某些情况下,像ARB这样的首字母缩略词保持原样.后者最近被引入并且由于我们的正则表达式返回AR Bs而​​导致显示问题.这就是我们所拥有的,我知道这对于首字母缩略词是不够的:
([A-Z][a-z]+)

我在SO和其他网站上找到了能够使用首字母缩略词的其他表达式,但是它们可以处理字符串,其中首字母缩写词在字符串中而不是整个字符串.我可以做简单的正则表达式,但这对我的技能来说太棘手了.我会提供其他测试示例,如果我有它们,但所有的字符串工作正常,除了新的,ARBs.谢谢.

更新:这是代码用法

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

解决方法

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

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...