我是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];
}
当前:
输入:过马路的鸡
输出:小鸡
。
预期结果:
输入:过马路的鸡
输出鸡肉gnissorc daor
答案 0 :(得分:3)
您可以简单地在空格字符上拆分单词,然后为每个单词选择单词本身或反向单词(取决于它是否包含'e'字符),然后将它们重新加入再加上空格字符:
txbOutput.Text = string.Join(" ", txbInput.Text.Split(' ')
.Select(word => word.Contains("e") ? string.Concat(word.Reverse()) : word));
答案 1 :(得分:1)
输出:鸡肉gnissorc daor
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) + ' ';
}
}