Сделать первую букву строки заглавной - C#
Формулировка задачи:
Всем привет!
Как в предложении все слова подогнать под один формат?
Т.е. если я ввожу "ИВАНОВ ИВАН ИВАНОВИЧ" или "ИВАнов ИваН ивановИЧ" и т.п выводилось потом в любом случае "Иванов Иван Иванович".
Так я первую букву первого слова делаю заглавную, но второе и третье остается маленьким.
Думаю как вариант надо искать в строке каждый пробел и делать ToUpper и ToLower в куске строки до него, но код весьма громоздкий получится. Может есть какая то встроенная функция или алгоритм оптимальнее?
Благодарю.
public static string FirstUpper(string str) { return str.Substring(0, 1).ToUpper() + (str.Length > 1 ? str.Substring(1) : ""); }
Решение задачи: «Сделать первую букву строки заглавной»
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")); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д