@Clutchmeister
.NET Backend Developer

Как из массива получить слова начинающиеся с заглавной буквы и поместить их в list?

Добрый день! Бьюсь над задачей где нужно выписать все слова, начинающиеся с большой буквы, в порядке обратном тому, как они встречались в тексте.
Получил массив строки без пробелов, теперь так понимаю нужно внести в List все слова, начинающиеся с заглавной буквы, и с эти у меня проблемы, никак не могу сделать. Подскажите пожалуйста как это провернуть. Заранее спасибо!

private static string DecodeMessage(string[] lines)
        {
          
            List<string> list = new List<string>();
            string messageArray = "";
            

            for (int i = 0; i < lines.Length; i++)
            {  
                messageArray = lines[i];      
            }
            string[] words = messageArray.Split(' ');

            /*
             * 
             */

            foreach (var e in words)
                Console.Write(e);


            return words.ToString();
        }
        static void Main(string[] args)
        {
            string[] lines = new string[] { "решИла нЕ Упрощать и зашифРОВАтЬ Все послаНИЕ дАже не Старайся нИЧЕГО у тЕбя нЕ получится с расшифРОВкой Сдавайся НЕ твоего ума Ты не споСОбЕн Но может быть если особенно упорно подойдешь к делу будет Трудно конечнО Код ведЬ не из простых очень ХОРОШИЙ код то у тебя все получится и я буДу Писать тЕбЕ еще" };

            DecodeMessage(lines);
        }
  • Вопрос задан
  • 1100 просмотров
Решения вопроса 1
@cicatrix
было бы большой ошибкой думать
https://onlinegdb.com/3ME6NWfmb
using System;
using System.Linq;

class SplitToUpper {
  static void Main() {
      var input = "Это тестовое предложение, Некоторые из Слов начинаются с Заглавной буквы";
      var words = input.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);
      var output = words.Where(w => char.IsUpper(w[0])).Reverse().ToArray();
      foreach(var word in output) 
        Console.WriteLine(word);
  } // Main
} // class SplitToUpper


Вывод:
Заглавной
Слов
Некоторые
Это
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
yarosroman
@yarosroman Куратор тега C#
C# the best
var up = lines.Where( w => Char.IsUpper(w[0])).ToList();


foreach(var e in words) 
        {
            if (Char.IsUpper(w[0]))
            {
               Console.WriteLine(w); 
            }
        }
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы