2017-06-21 2 views
-3

ich diese Zeichenfolge habenOber Fall der erste Brief einiger Wörter

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

Und der Ausgang sein

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

ich Großbuchstaben alle die ersten Buchstaben der Worte gemacht, aber in einigen Worten Ich muss sie alle Kleinbuchstaben machen, wenn das Wort nur 3 Buchstaben hat, bleibt es niedriger.

Wie kann ich das tun?

Ich habe bereits diesen Code:

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

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

Und die Ausgabe kommt:

"Direção De Análise E Gestão Da Informação"

und ich möchte Ausgang kommen als

„Direção de Análise e Gestão da Informação“

+2

Haben Sie etwas versucht? SO ist kein Code-Service, aber hier, um Probleme zu lösen, die Sie bereits ausprobiert haben –

+3

Mögliches Duplikat von [Wie wird das erste Zeichen jedes Wortes oder das erste Zeichen einer ganzen Zeichenfolge mit C# großgeschrieben?] (Https: //stackoverflow.com/questions/913090/how-to-capitalize-the-first-character-of-each-word-or-the-first-character-of-a) – coderade

Antwort

0

So stellen Sie alle Wörter unter eine gewisse Länge zu verringern, können Sie die Wörter aufgespalten, und in Abhängigkeit von seiner Länge eingestellt es Fall zu senken. In diesem Beispiel aufgeteilt i auf einen Raum " ", wenn die Möglichkeit eines anderen Separators gibt es wäre dies komplizierter:

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())); 

In diesem Fall bin ich Einstellung alle Worte mit weniger als 3 Zeichen zu senken.

+0

Vielen Dank, es hat perfekt funktioniert –

Verwandte Themen