Удаление окончания у слов в списке
День добрый! Есть список содержащий различные символы:
- 84ыва846ыв88сСлово545выщв
- 324ошаовыщоСловоаошуа
- лщвфыозСловофаовшщв
Необходимо обрезать Слово и все что после него. Количество символов до и после конкретного слова могут быть различны.
Читал различные ресурсы, но только редактирование находил по определенному символу, буду премного благдарен!
Ответы (2 шт):
Автор решения: Aarnihauta
→ Ссылка
Создадим метод RemoveWords(str, word).
В теле метода получаем индекс методом IndexOf(str, word) и Remove(startIndex, length) удаляем все символы.
Почитать про StringBuilder можно вот тут
Почитать про IndexOf() можно вот тут
Почитать про Remove() можно вот тут
static void Main(string[] args)
{
string str = "84ыва846ыв88сСлово545выщв";
string removedWordString = RemoveWord(str, "Слово");
Console.WriteLine(removedWordString);
Console.ReadKey();
}
static string RemoveWords(string str, string word)
{
StringBuilder builder = new StringBuilder(str);
int index = str.IndexOf(word);
builder.Remove(index, str.Length - index);
return builder.ToString();
}
Автор решения: Vitaliy Zlobin
→ Ссылка
Решение в одну строку:
string CutTextByWord(string text, string word) => text.Substring(0, text.IndexOf(word));
Вот как это выглядит:
using System;
namespace Test
{
class Program
{
static void Main(string[] args)
{
var text = "84ыва846ыв88сСлово545выщв";
var word = "Слово";
Console.WriteLine(CutTextByWord(text, word));
Console.ReadLine();
}
static string CutTextByWord(string text, string word) => text.Substring(0, text.IndexOf(word));
}
}
Результат: 84ыва846ыв88с