I would like to take a pascal-cased string like "CountOfWidgets" and convert it into something more user-friendly like "Count of Widgets" in C#. Multiple adjacent uppercase characters should be left intact. What is the most efficient way to do this?
NOTE: Duplicate of http://stackoverflow.com/questions/155303/net-how-can-you-split-a-caps-delimited-string-into-an-array