2016-04-21 54 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)); 
      } 

     } 
相关问题