Вывод слов, состоящих из первых и последних букв текста

Рейтинг: 0Ответов: 1Опубликовано: 14.03.2015

Задача такова: написать прогу на WinForm, чтобы напечатать слова, которые состоят с первых и последних букв (но не цифр) всех слов текста.

На форме в первый textbox (назван num1), я ввожу текст, потом нажимаю button - вывести, и во втором textbox (назван num2), должен быть результат. Вот часть кода (обработчик нажатия button).

Как правильно вывести результат?

private void button1_Click(object sender, EventArgs e)
        {
            string str;
            str = num1.Text;
            string sb = "";
             foreach (string val in str.Split(' '))
             {
                 foreach (char ch in val)
                 {
                     if (Char.IsDigit(val[0]))
                     { }
                     else
                     { sb += val[0];}

                     if (Char.IsDigit(val[val.Length - 1]))
                     { }
                     else
                     { sb += val[val.Length-1]; }
                 }
            }
             num2.Text(sb); **ошибка вывода**

        }

Ответы

▲ 1

Вопрос не очень понятный. Если надо было выводить слова из полученных букв, то не хватает словаря по которому можно пройтись и найти нужные слова.

Если просто надо вывести буквы в num2.Text, то вот простое решение:

    private void button1_Click(object sender, EventArgs e)
    {
        var result = num1.Text
            .Split()
            .SelectMany(w => new char[] { w.First(), w.Last() })
            .Where(c => !Char.IsDigit(c));
        num2.Text = String.Concat(result);
    }