2017-02-18 16 views
11

Mam ciąg, który konwertowałem do TextInfo.ToTitleCase i usunąłem podkreślenia i dołączyłem do łańcucha. Teraz muszę zmienić pierwszy i tylko pierwszy znak w łańcuchu na małe litery iz jakiegoś powodu nie mogę wymyślić, jak to osiągnąć. Z góry dziękuję za pomoc.Konwertuj ciąg na camelCase z TitleCase C#

class Program 
{ 
    static void Main(string[] args) 
    { 
     string functionName = "zebulans_nightmare"; 
     TextInfo txtInfo = new CultureInfo("en-us", false).TextInfo; 
     functionName = txtInfo.ToTitleCase(functionName).Replace('_', ' ').Replace(" ", String.Empty); 
     Console.Out.WriteLine(functionName); 
     Console.ReadLine(); 
    } 
} 

Wyniki: ZebulansNightmare

Pożądane Wyniki: zebulansNightmare

UPDATE:

class Program 
{ 
    static void Main(string[] args) 
    { 
     string functionName = "zebulans_nightmare"; 
     TextInfo txtInfo = new CultureInfo("en-us", false).TextInfo; 
     functionName = txtInfo.ToTitleCase(functionName).Replace("_", string.Empty).Replace(" ", string.Empty); 
     functionName = $"{functionName.First().ToString().ToLowerInvariant()}{functionName.Substring(1)}"; 
     Console.Out.WriteLine(functionName); 
     Console.ReadLine(); 
    } 
} 

Produkuje pożądany wynik

Odpowiedz

18

wystarczy obniżyć pierwszy char w tablicy . Zobacz ten answer

Char.ToLowerInvariant(name[0]) + name.Substring(1) 

Na marginesie, skoro jesteś usunięcie spacji można zastąpić podkreślenia z pustym ciągiem.

.Replace("_", string.Empty) 
+0

Dzięki temu, czego potrzebowałem. –

+0

Dobra rozmowa. Dokonałem korekt i zaktualizowałem pytanie. –