大写一些单词的第一个字母

时间:2017-06-21 10:56:06

标签: c# asp.net

我有这个字符串

string lol = "ISTO É APENAS O TESTE DA INFORMAÇÃO";

输出必须是

string lol = "Isto é Apenas o Teste da Informação";

我写了大写单词的所有第一个字母,但是在某些方面我需要将它们全部小写,例如,如果单词只有3个字母,它仍然较低。

我该怎么做?

我已经有了这段代码:

 string unidade = "DIREÇÃO DE ANÁLISE E GESTÃO DA INFORMAÇÃO";

string lower=System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(unidade.ToLower());

输出来了:

  

“DireçãoDeAnáliseEGestãoDaInformação”

我希望输出为

  

“DireçãodeAnáliseeGestãodaInformação”

1 个答案:

答案 0 :(得分:0)

要设置降低某些长度以下的所有单词,您可以拆分单词,并根据其长度将其设置为小写。在这个例子中,我拆分了一个空格" ",如果有可能有另一个分隔符,这会变得更复杂:

string unidade = "DIREÇÃO DE ANÁLISE E GESTÃO DA INFORMAÇÃO";
string lower = System.Threading.Thread.CurrentThread.CurrentCulture
                               .TextInfo.ToTitleCase(unidade.ToLower());

lower = String.Join(" ", lower.Split(' ').Select(x => x.Length > 2 ? x : x.ToLower()));

在这种情况下,我设置降低少于3个字符的所有单词。