I've written a method which will format any given string into a more readable phrase.This method can be quite useful if you're generating your code or building your API based on an outer settings like a config file, DB, Reflection etc.
Code:
/// <summary>/// Format the string so it will be more readable./// </summary>/// <param name="field">The field to format</param>/// <remarks>/// Written by Oren Ellenbogen (23/01/2006) - parsing string AI for idiots ;)/// </remarks>/// <returns>Formatted field name</returns>public string FormatField(string field){ StringBuilder formattedField = new StringBuilder(field.Length * 2); for (int i = 0; i < field.Length; i++) { if (i == 0) formattedField.Append(field[i].ToString().ToUpper()); else { if (field[i].ToString().ToLower() != field[i].ToString()) { // The current char is in upper case format. if (i < (field.Length - 1)) { // Move forward & backward on the string and see if the previous/next char is in lower case. // If so - put a space to separate the words. if (field[i + 1].ToString().ToLower() == field[i + 1].ToString() || field[i - 1].ToString().ToLower() == field[i - 1].ToString()) { formattedField.Append(" "); } } } formattedField.Append(field[i]); } } return formattedField.ToString();}
Usage:
// Print: Total MailsConsole.WriteLine(FormatField("totalMails"));// Print: User IDConsole.WriteLine(FormatField("UserID"));
Disclaimer The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.
© Copyright 2009, Oren Ellenbogen
<= Contact me via E-mail
newtelligence dasBlog 2.2.8279.16125