проблемы с для строки цикла - PullRequest
1 голос
/ 10 мая 2019

Я новичок в программировании на C #, и я пытаюсь выяснить, как я мог бы потенциально обратить все слова, кроме слов, содержащих e в строке.

мой текущий код будет обнаруживать слова, содержащие e, и просто записывает их в другое текстовое поле:

string text = txbInput.Text;
            var words = text.Split(' ');
            for (int i = 0; i < words.Length; i++)
            {
                if (words[i].Contains('e'))
                {
                   txbOutput.Text += words[i];
                }

Ток:

Ввод: курица пересекает дорогу

Вывод: цыпленок

.

Ожидаемый результат:

Ввод: курица, пересекающая дорогу

Выход куриного гниссорка даор

Ответы [ 2 ]

3 голосов
/ 10 мая 2019

Вы можете просто разделить слово на пробел, а затем для каждого слова выбрать либо само слово, либо слово, обратное (в зависимости от того, содержит ли оно символ 'e'), а затем соединить их обратно.снова вместе с пробелом:

txbOutput.Text = string.Join(" ", txbInput.Text.Split(' ')
    .Select(word => word.Contains("e") ? string.Concat(word.Reverse()) : word));
1 голос
/ 10 мая 2019

Выходы: куриный гниссорк даор

using System;


namespace ConsoleApp4
{
    class Program
    {
        static void Main(string[] args)
        {
            var input = "chicken crossing the road";

            foreach (var item in input.Split(' '))
            {
                if (item.Contains('e'))
                {
                    Console.Write(item + ' ');
                }
                else
                {
                    Console.Write(Reverse(item) + ' ');
                }
            }
        }

        public static string Reverse(string s)
        {
            char[] charArray = s.ToCharArray();
            Array.Reverse(charArray);
            return new string(charArray);
        }
    }
}
enter code here

РЕДАКТИРОВАТЬ

 foreach (var item in input.Split(' '))
    {
        if (item.Contains('e'))
        {
            txbOutput.Text = txbOutput.Text+ item + ' ';
        }
        else
        {
            txbOutput.Text= txbOutput.Text+ Reverse(item) + ' ';
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...