给定以下任务:给定一行包含有意义的文本消息。消息单词由空格和标点符号分隔。从消息中删除包含该字符的所有单词(不区分大小写)
下面是编译器在 foreach 循环中看到错误的代码,我不完全理解如何解决该错误,即它无法将 char (我不知道在哪里看到它)转换为字符串。
具体需要什么:
告诉我如何解决循环错误
告诉我如何修改代码以完全删除一个单词,而不是一个字母(以防我搞砸了并且代码只删除了一个字母)
Console.WriteLine("Программа, удаляющая слова, с заданной буквой.");
Console.Write("Введите строку: ");
string text = Console.ReadLine();
Console.Write("Введите букву, слова с которой нужно удалить:");
string words = Console.ReadLine();
StringBuilder tagsSB = new StringBuilder(text);
foreach (string word in words)
{
tagsSB.Replace(word, "");
}
Console.WriteLine(tagsSB.ToString());
Console.WriteLine();
Console.Write("Нажмите Enter для выхода.");
Console.ReadLine();
string它本质上是一个数组char[]。因此,您可以循环遍历字符串的字符或按索引获取字符。要解决这个问题,
words必须是一个单词数组(字符串)string[]。解决方案看起来像这样
这是如果您依赖您的代码作为基础的话。但有一个问题,删除行的地方会保留成对的空格,因为单词被删除了,但它旁边的空格却没有。
但我会写一个这样的列表