using System.Globalization;
using System.Collections.Generic;
using System.Text.RegularExpressions;
public static void Main()
List<string> displayNames=new List<string>{
"Martin.bradshaw@johnewright.com",
"JASON@FOUNTAINPRINT.CO.UK",
"sanderson@eikondesign.co.uk",
"adam@skylinewhitespace.com",
"Lucy.springett@skylinewhitespace.com",
"lawrence@skylinewhitespace.com",
foreach(string rawName in displayNames)
var displayName=rawName.Replace(" ", " ").Replace("'","");
if(displayName.Contains(' '))
var rawParts = displayName.Split(' ').ToList();
List<string> parts = new List<string>();
foreach(string rawPart in rawParts)
parts.Add(char.ToUpper(rawPart.ToArray()[0])+rawPart.Substring(1).ToLower());
var output=String.Join(",", parts);
output=parts[0]+","+String.Join("-",parts.Skip(1));
Console.WriteLine(output);
else if(displayName.Contains('@'))
string name = displayName.Substring(0,displayName.IndexOf('@'));
var rawParts = name.Split('.').ToList();
List<string> parts = new List<string>();
foreach(string rawPart in rawParts)
parts.Add(char.ToUpper(rawPart.ToArray()[0])+rawPart.Substring(1).ToLower());
var output=String.Join(",", parts);
Console.WriteLine(output);
Console.WriteLine(char.ToUpper(name.ToArray()[0])+name.Substring(1).ToLower());
var rawParts = Regex.Matches(displayName, @"([A-Z][a-z]+)").Cast<Match>().Select(m=>m.Value);
var output=String.Join(",",rawParts);
output=rawParts.First()+","+String.Join("-",rawParts.Skip(1));
Console.WriteLine(output);