2017-02-18 14 views
11

У меня есть строка, которую я преобразовал в TextInfo.ToTitleCase, и удалил символы подчеркивания и присоединил строку вместе. Теперь мне нужно изменить первый и только первый символ в строке на нижний регистр и по какой-то причине я не могу понять, как это сделать. Заранее спасибо за помощь.Преобразование строки в camelCase из 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(); 
    } 
} 

Результаты: ZebulansNightmare

Желательные Результаты: 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(); 
    } 
} 

Производит желаемый результат

ответ

18

Вам просто нужно опустить первый символ в массиве , Смотрите эту answer

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

Как примечание стороны, видя, как вы удаляете пространства вы можете заменить подчеркивание с пустой строкой.

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

Спасибо, что мне нужно. –

+0

Хороший звонок. Сделал корректировки и обновил вопрос. –

 Смежные вопросы

  • Нет связанных вопросов^_^