public static class StringExtensions
public static string ToPascalCase(this string str){
string sample = string.Join("", str?.Select(c => Char.IsLetterOrDigit(c) ? c.ToString().ToLower() : "_").ToArray());
.Split(new []{'_'}, StringSplitOptions.RemoveEmptyEntries)
.Select(s => $"{s.Substring(0, 1).ToUpper()}{s.Substring(1)}");
sample = string.Join("", arr);
public static void Main()
Console.WriteLine("WARD_VS_VITAL_SIGNS".ToPascalCase());
Console.WriteLine("Who am I?".ToPascalCase());
Console.WriteLine("I ate before you got here".ToPascalCase());
Console.WriteLine("Hello|Who|Am|I?".ToPascalCase());
Console.WriteLine("Live long and prosper".ToPascalCase());
Console.WriteLine("Lorem ipsum dolor sit amet, consectetur adipiscing elit.".ToPascalCase());