Skip to content

Instantly share code, notes, and snippets.

@darkhelmet
Created August 29, 2009 23:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save darkhelmet/177769 to your computer and use it in GitHub Desktop.
Save darkhelmet/177769 to your computer and use it in GitHub Desktop.
public static string ToHumanFromPascal(this string s)
{
if (2 > s.Length)
{
return s;
}
var sb = new StringBuilder();
var ca = s.ToCharArray();
sb.Append(ca[0]);
for (int i = 1; i < ca.Length - 1; i++)
{
char c = ca[i];
if (char.IsUpper(c) && (char.IsLower(ca[i + 1]) || char.IsLower(ca[i - 1])))
{
sb.Append(' ');
}
sb.Append(c);
}
sb.Append(ca[ca.Length - 1]);
return sb.ToString();
}
@MNF
Copy link

MNF commented Oct 11, 2012

Similar method using Regex from http://www.mehdi-khalili.com/bdd-simply-with-bddify
public static string CreateSentenceFromCamelName(string name)
{ return Regex.Replace(name, "[a-z][A-Z]", m => m.Value[0] + " " + char.ToLower(m.Value[1]));
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment