I am looking for a way to split PascalCase strings, e.g. “MyString”, into separate words – “My”, “String”. Another user posed the question for bash, but I want to know how to do it with general regular expressions or at least in .NET.
Bonus if you can find a way to also split (and optionally capitalize) camelCase strings: e.g. “myString” becomes “my” and “String”, with the option to capitalize/lowercase either or both of the strings.
See this question: Is there a elegant way to parse a word and add spaces before capital letters? Its accepted answer covers what you want, including numbers and several uppercase letters in a row. While this sample has words starting in uppercase, it it equally valid when the first word is in lowercase.
The above will output: