我刚开始用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];
}当前:
投入:鸡横过马路
产出:小鸡
。
预期成果:
投入:鸡横过马路
输出鸡吞吐器
发布于 2019-05-09 22:07:28
输出:小鸡
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) + ' ';
}
}发布于 2019-05-09 22:17:01
您可以简单地将单词拆分到空格字符上,然后,对于每个单词,选择单词本身或反转的单词(取决于它是否包含'e‘字符),然后再将它们与空格字符重新组合在一起:
txbOutput.Text = string.Join(" ", txbInput.Text.Split(' ')
.Select(word => word.Contains("e") ? string.Concat(word.Reverse()) : word));发布于 2022-07-02 07:51:40
您可以尝试使用以下代码-
string.Join(” “,
str.Split(‘ ‘)
.Select(x => new String(x.Reverse().ToArray()))
.ToArray());复制自- https://www.declarecode.com/code-solutions/csharp/caprogramtoreverseeachwordinthegivenstring
https://stackoverflow.com/questions/56068143
复制相似问题