2016-04-21 53 views
2

我有這樣LUXOR一個字符串,我想轉換其他字母,除了第一個字母或意味着string.that爲小寫,我想這個字符串盧克索從以上字符串。我可以用ToUpperToLower全字符串轉換爲大寫或小寫。可是我該怎麼辦this.hope你的幫助與this.thank你如何字符串的一部分轉換成C#爲小寫

回答

4

您可以使用TextInfo類定義文本屬性和行爲,如外殼,特定於書寫系統。

string inString = "LUXOR".ToLower(); 
TextInfo cultInfo = new CultureInfo("en-US", false).TextInfo; 
string output = cultInfo.ToTitleCase(inString); 

這個片段會給你在變量outputLuxor。這可以 也可以用來利用每個詞首字母

另一種選擇是使用.SubString,對於具有單個字輸入的此特定情形:

string inString = "LUXOR" 
string outString = inString.Substring(0, 1).ToUpper() + inString.Substring(1).ToLower(); 
+0

有一點上下文/解釋可能會很好!儘管如此,對於腳本/語言無關的解決方案還是+1。 – Archimaredes

+0

您的原始答案實際上不適用於**所有大寫**文本,因爲這些文件不受轉換限制;他們被視爲縮寫! '「這是聯邦調查局調用」'會呈現'「這是FBI調用」。對於所請求的簡單任務,您的更新答案太複雜了。 –

+0

另外,請不要將'TextInfo'字鏈接到某個博客。直接鏈接到MSDN。 –

1

試一試,

 string inString = "LUXOR"; 
     string output = inString.Substring(0, 1) + inString.Substring(1).ToLower(); 

     string inString2 = "HI HOW ARE YOU"; 
     string[] finalstring = inString2.Split(' '); 

     string output2 = string.Empty; 
     foreach (var item in finalstring) 
     { 
      if (output2 == "") 
      { 
       output2 = (item.ToUpper().Substring(0, 1) + item.ToLower().Substring(1)); 
      } 
      else 
      { 
       output2 += " " + (item.ToUpper().Substring(0, 1) + item.ToLower().Substring(1)); 
      } 

     } 
相關問題