Je veux convertir: à p> in c #. p> P> Toutes les façons de faire élégantes Ceci? P> P>
5 Réponses :
string name = "HECHT, WILLIAM"; string s = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(name.ToLower()); (note it only works lower-to-upper, hence starting lower-case)
Est-ce cette chose là-bas? Oh mon. +1
@MARC: Est-ce que TotitTlecase () code> poignée "Peter O'Toole" et "Mary Jones-Smith" correctement?
Ongledge: Peter a besoin d'un nouveau nom, Marie va bien cependant.
public static string CamelCase(this string s)
{
if (String.IsNullOrEmpty(s))
s = "";
string phrase = "";
string[] words = s.Split(' ');
foreach (string word in words)
{
if (word.Length > 1)
phrase += word.Substring(0, 1).ToUpper() + word.Substring(1).ToLower() + " ";
else
phrase += word.ToUpper() + " ";
}
return phrase.Trim();
}
@Truthstands: Ne produit pas les résultats corrects pour "Peter O'Toole" et "Mary Smith-Jones".
Vrai, mais il ne serait pas difficile de résoudre ce problème.
J'ai voté de la réponse de Marc, mais cela fonctionnera également:
string s = Microsoft.VisualBasic.Strings.StrConv("HECHT, WILLIAM", VbStrConv.ProperCase,0);
J'aimerais simplement inclure une réponse qui souligne que, bien que cela semble simple en théorie, en pratique capitalisant correctement les noms de chacun peut être très em> compliqué: p>
Quoi qu'il en soit, juste quelque chose à penser. P>
J'ai eu des problèmes avec le code ci-dessus, alors je l'ai modifié un peu et cela a fonctionné. Salutations du Chili. Bon papier.
private void label8_Click(object sender, EventArgs e)
{
nombre1.Text= NOMPROPIO(nombre1.Text);
}
string NOMPROPIO(string s)
{
if (String.IsNullOrEmpty(s))
s = "";
string phrase = "";
string[] words = s.Split(' ');
foreach (string word in words)
{
if (word.Length > 1)
phrase += word.Substring(0, 1).ToUpper() + word.Substring(1).ToLower() + " ";
else
phrase += word.ToUpper() + " ";
}
return phrase.Trim();
}
Utilisez uniquement l'anglais sur ce site . Pour l'espagnol, il y a pile débordement en español .