Capitalizing a string with C#

Mi è capitato di dover trasformare una stringa utilizzando per le lettere iniziali di ciascuna parola il carattere maiuscolo. Nella libreria String di C# non esiste una funzione di questo tipo, facendo una piccola ricerca su san google ho trovato una funzione che faceva al mio caso (vedi codice).

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Literal1.Text = Regex.Replace(
Literal1.Text,
@"\w+",
new MatchEvaluator(CapitalizeString)
);
}
}

public static string CapitalizeString(Match matchString)
{
string strTemp = matchString.ToString();
strTemp = char.ToUpper(strTemp[0]) + strTemp.Substring(1, strTemp.Length - 1).ToLower();
return strTemp;
}
Published Wednesday, July 01, 2009 12:25 PM by MADIL
Filed under: ,

Comments

# re: Capitalizing a string with C#

Friday, July 03, 2009 3:53 AM by Maurizio Tammacco

Ciao, la classe System.String non ha infatti nulla adatto allo scopo, ma la proprietà TextInfo dell'oggetto CultureInfo (namespace System.Globalization) fornisce il metodo ToTitleCase che effettua proprio la conversione in maiuscolo delle singole parole incluse nella stringa passata come parametro.

Ciao e complimenti per il tuo slogan!

# re: Capitalizing a string with C#

Thursday, July 09, 2009 4:18 AM by MADIL

Thanks :D

Powered by Community Server (Commercial Edition), by Telligent Systems