2012-11-06 64 views
4

我想格式化一個字符串值,其格式爲first letter它的Uppercase
e.g:格式化字符串文字

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

我該怎麼辦呢?

+3

如果'myname'是' 「弗雷德 - 瓊斯」'是' 「弗雷德 - 瓊斯」'或' 「弗雷德 - 瓊斯」'? –

+1

http://stackoverflow.com/questions/4135317/make-first-letter-of-each-word-upper-case – Karthik

+0

我想要''弗雷德瓊斯'''。但是,「弗雷德瓊斯」呢? – Hamid62

回答

5

請檢查您的案例的MSDN,請參閱TextInfo.ToTitleCase Method

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

嘗試

string test = "myname"; 
string formatted = System.Globalization.CultureInfo 
         .CurrentUICulture.TextInfo.ToTitleCase(test); 
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)); 
1
string input = "myname"; 
var charArray = input.ToArray(); 
charArray[0] = char.ToUpper(charArray[0]); 

string result = new string(charArray); 
2
CultureInfo cultureInfo = Thread.CurrentThread.CurrentCulture; 
TextInfo textInfo = cultureInfo.TextInfo; 

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