using System.Text.RegularExpressions;
static string CamelCaseToSpaceSeparated(string text)
string[] words = Regex.Matches(text, @"([A-Z]+(?![a-z])|[A-Z][a-z]+|[0-9]+|[a-z]+)")
return string.Join(" ", words);
public static void Main()
Console.WriteLine(CamelCaseToSpaceSeparated("MyHTTPServer"));
Console.WriteLine(CamelCaseToSpaceSeparated("XMLReaderFactory"));
Console.WriteLine(CamelCaseToSpaceSeparated("_myNewUIControl"));
Console.WriteLine(CamelCaseToSpaceSeparated("readInt32_silent"));
Console.WriteLine(CamelCaseToSpaceSeparated("_12DaysLater"));
Console.WriteLine(CamelCaseToSpaceSeparated("IMG_ButtonIcon_16px"));
Console.WriteLine(CamelCaseToSpaceSeparated("PrintButton_MouseOver"));
Console.WriteLine(CamelCaseToSpaceSeparated("int32_45_78Stuff"));