Удалить из сообщения все слова, содержащий данный символ (без учёта регистра). На языке C#
Вот код который я написал, он удаляет только один символ в то время как мне нужно удалить целое слово содержащий данный символ.
Console.Write("Введите текст: ");
StringBuilder m = new StringBuilder(Console.ReadLine());
Console.WriteLine("Введите символ из-за которого будет удаляться слово: ");
char q = char.Parse(Console.ReadLine());
for (int i = 0; i < m.Length; i++)
{
if(q == m[i])
{
m.Replace(m[i],' ');
}
}
Console.WriteLine("Изменённая строка: " + m);
Console.ReadKey();
Ответы (2 шт):
Автор решения: Andrew
→ Ссылка
var symbolToDelete = "o"
var words = someString.Split(' ')
.Where( a => !a.ToLower().Contains(symbolToDelete.ToLower() ) );
var res = String.Join(" ", words);
Автор решения: Nur.B
→ Ссылка
var newList = m.ToString()
.Split(' ')
.ToList()
.RemoveAll(x => x.IndexOf(q) > -1);
var finalStr = string.Join(' ', newList);