格式化字符串字面值

4

我想按照特定的格式对字符串值进行格式化,使其第一个字母大写字母
例如:

string.Format("{0}", "myName"); //Output must be : "MyName"

我该如何做呢?


3
如果myname是“fred jones”,那么它是“Fred jones”还是“Fred Jones”? - Marc Gravell
1
https://dev59.com/D2855IYBdhLWcg3wz3zo - Karthik
我想要 "Fred jones"。但是 "Fred Jones" 呢? - Hamid62
5个回答

5

请查看MSDN,了解您的情况,参见TextInfo.ToTitleCase方法

string myString = "wAr aNd pEaCe";        
TextInfo myTI = new CultureInfo("en-US", false).TextInfo;
Console.WriteLine("\"{0}\" to titlecase: {1}", myString, myTI.ToTitleCase(myString));

3
如果您只想将第一个字母大写,可以尝试以下方法:
string s = string.Format("{0}", char.ToUpper(myname[0]) + myname.Substring(1));

否则,要将每个单词首字母大写,可以使用 TextInfo.ToTitleCase
string s = string.Format("{0}",
    CultureInfo.CurrentCulture.TextInfo.ToTitleCase(myname));

2

尝试

string test = "myname";
string formatted = System.Globalization.CultureInfo
                         .CurrentUICulture.TextInfo.ToTitleCase(test);

2
CultureInfo cultureInfo   = Thread.CurrentThread.CurrentCulture;
TextInfo textInfo = cultureInfo.TextInfo;

Console.WriteLine("{0}", textInfo.ToTitleCase(myname));

1
string input = "myname";
var charArray = input.ToArray();
charArray[0] = char.ToUpper(charArray[0]);

string result = new string(charArray);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接