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

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

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

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

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

textual
Листинг программы
public static string FirstUpper(string str)
        {
            string[] s = str.Split(' ');
 
            for (int i = 0; i < s.Length; i++)
            {
                if (s[i].Length > 1)
                    s[i] = s[i].Substring(0, 1).ToUpper() + s[i].Substring(1, s[i].Length - 1).ToLower();
                else s[i] = s[i].ToUpper();
            }
            return string.Join(" ", s);
        }
        static void Main(string[] args)
        {
            Console.WriteLine(FirstUpper("sE lgf;fOPPEKFP SERT")); 
        }

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


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

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

8   голосов , оценка 3.625 из 5
Похожие ответы