Сделать первую букву строки заглавной - C#

Узнай цену своей работы

Формулировка задачи:

Всем привет! Как в предложении все слова подогнать под один формат? Т.е. если я ввожу "ИВАНОВ ИВАН ИВАНОВИЧ" или "ИВАнов ИваН ивановИЧ" и т.п выводилось потом в любом случае "Иванов Иван Иванович". Так я первую букву первого слова делаю заглавную, но второе и третье остается маленьким.
Листинг программы
  1. public static string FirstUpper(string str)
  2. {
  3. return str.Substring(0, 1).ToUpper() + (str.Length > 1 ? str.Substring(1) : "");
  4. }
Думаю как вариант надо искать в строке каждый пробел и делать ToUpper и ToLower в куске строки до него, но код весьма громоздкий получится. Может есть какая то встроенная функция или алгоритм оптимальнее? Благодарю.

Решение задачи: «Сделать первую букву строки заглавной»

textual
Листинг программы
  1. public static string FirstUpper(string str)
  2.         {
  3.             string[] s = str.Split(' ');
  4.  
  5.             for (int i = 0; i < s.Length; i++)
  6.             {
  7.                 if (s[i].Length > 1)
  8.                     s[i] = s[i].Substring(0, 1).ToUpper() + s[i].Substring(1, s[i].Length - 1).ToLower();
  9.                 else s[i] = s[i].ToUpper();
  10.             }
  11.             return string.Join(" ", s);
  12.         }
  13.         static void Main(string[] args)
  14.         {
  15.             Console.WriteLine(FirstUpper("sE lgf;fOPPEKFP SERT"));
  16.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.625 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы