Замена слов с большой буквы на символы - 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();
        }
    }
}

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


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

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

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