将Pascal-case字符串拆分为逻辑单词集
我想把一个像“CountOfWidgets”这样的pascal-cased字符串转换成更友好的东西,如C#中的“Widgets计数”。 多个相邻的大写字符应保持不变。 最有效的方法是什么?
注意 :重复的.NET – 如何将“大写”分隔的字符串拆分为数组?
不知道有效但至少它是简洁的:
Regex r = new Regex("([AZ]+[az]+)"); string result = r.Replace("CountOfWidgets", m => (m.Value.Length > 3 ? m.Value : m.Value.ToLower()) + " ");