1 public static string SpacePascalCase(string input)
2 {
3 string splitString = String.Empty;
4
5 for (int idx = 0; idx < input.Length; idx++)
6 {
7 char c = input[idx];
8
9 if (Char.IsUpper(c)
10 // keeps abbreviations together like "Number HEI"
11 // instead of making it "Number H E I"
12 && ((idx < input.Length - 1
13 && !Char.IsUpper(input[idx + 1]))
14 || (idx != 0
15 && !Char.IsUpper(input[idx - 1])))
16 && splitString.Length > 0)
17 {
18 splitString += " ";
19 }
20
21 splitString += c;
22 }
23
24 return splitString;
25 }