Замена слов с большой буквы на символы - C#
Формулировка задачи:
Здравствуйте. Нужно в строке типа "Read the sentence in their own Names changed to *" заменит все заглавные слова на символы "*", чтобы получилось "**** the sentence in their own ***** changed to * ". В голову пришла идея выловить все слова которые начинаються с заглавной буквы и удалить их, потом добавить *, но что-то не получаеться реализовать.
Решение задачи: «Замена слов с большой буквы на символы»
textual
Листинг программы
- using System;
- namespace for_test
- {
- class Program
- {
- static void Main(string[] args)
- {
- string str = "Read the sentence in their own Names changed to *";
- //Переводим строку в массив
- string[] splt = str.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
- int j = 0;
- int countChar = 0;
- string result = String.Empty;
- //Цикл элементов массива
- for (int i = 0; i < splt.Length; i++)
- {
- int count = 0;
- //Цикл символов элемента массива
- foreach (char Char in splt[i])
- {
- ++count;
- //Если первый символ элемента массива Верхнего регистра
- if (Char.IsUpper(Char) && count == 1)
- {
- //Кол-во букв в элементе массива
- countChar = splt[i].Length;
- j++;
- break;
- }
- else break;
- }
- //Если текущий элемент массива начинается с буквы в верхнем регистре
- if (j != 0)
- {
- //Пробел
- if(i != 0)
- result += " ";
- for (int g = 0; g < countChar; g++)
- {
- //рисуем звёздочки,сколько сиволом в элементе
- result += "*";
- }
- }
- else result += " " + splt[i];//Иначе текущий элементе начивается не с символа верхнего регистра, конкатенуем значение элемента массива в строку результат
- j = 0;
- }
- Console.WriteLine(result);
- Console.ReadKey();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д