Замена слов с большой буквы на символы - C#

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

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

Здравствуйте. Нужно в строке типа "Read the sentence in their own Names changed to *" заменит все заглавные слова на символы "*", чтобы получилось "**** the sentence in their own ***** changed to * ". В голову пришла идея выловить все слова которые начинаються с заглавной буквы и удалить их, потом добавить *, но что-то не получаеться реализовать.

Решение задачи: «Замена слов с большой буквы на символы»

textual
Листинг программы
  1. using System;
  2.  
  3. namespace for_test
  4. {
  5.     class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             string str = "Read the sentence in their own Names changed to *";
  10.             //Переводим строку в массив
  11.             string[] splt = str.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
  12.  
  13.             int j = 0;
  14.             int countChar = 0;
  15.             string result = String.Empty;
  16.  
  17.             //Цикл элементов массива
  18.             for (int i = 0; i < splt.Length; i++)
  19.             {
  20.                 int count = 0;
  21.                 //Цикл символов элемента массива
  22.                 foreach (char Char in splt[i])
  23.                 {
  24.                     ++count;
  25.                     //Если первый символ  элемента массива Верхнего регистра
  26.                     if (Char.IsUpper(Char) && count == 1)
  27.                     {
  28.                         //Кол-во букв в элементе массива
  29.                         countChar = splt[i].Length;
  30.                         j++;
  31.                         break;
  32.                     }
  33.                     else break;
  34.  
  35.                 }
  36.                 //Если текущий элемент массива начинается с буквы в верхнем регистре
  37.                 if (j != 0)
  38.                 {
  39.                     //Пробел
  40.                     if(i != 0)
  41.                     result += " ";
  42.                     for (int g = 0; g < countChar; g++)
  43.                     {
  44.                         //рисуем звёздочки,сколько сиволом в элементе
  45.                         result += "*";
  46.                     }
  47.  
  48.                 }
  49.                 else result += " " + splt[i];//Иначе текущий элементе начивается не с символа верхнего регистра, конкатенуем значение элемента массива в строку результат
  50.                 j = 0;
  51.             }
  52.             Console.WriteLine(result);
  53.             Console.ReadKey();
  54.         }
  55.     }
  56. }

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


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

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

12   голосов , оценка 4.333 из 5

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

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

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