Задать вопрос

Как удалить дублируемые слова (и словосочетания) в строке, разделенной запятыми?

Есть некоторая исходная строка:
енот, енот, гваделупский енот, косумельский енот, енот, енот-полоскун, енот-ракоед, косумельский енот

Мне необходимо из этой строки удалить все дубликаты повторяющихся слов (и словосочетаний), разделенных запятыми.
К примеру, в приведенной выше строке, слово енот повторяется 3 раза, и мне необходимо удалить 2 из этих 3-х слов, оставив только первое слово енот.
Также словосочетание косумельский енот повторяется 2 раза, и необходимо удалить одно из этих словосочетаний.

В итоге, хотелось бы получить вот такую конечную строку:
енот, гваделупский енот, косумельский енот, енот-полоскун, енот-ракоед


Как это можно реализовать?
  • Вопрос задан
  • 415 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 2
    1 неделя
    Далее
Решения вопроса 2
Nipheris
@Nipheris Куратор тега C#
ideone.com/4z7HsT

using System;
using System.Collections.Generic;
using System.Linq;

public class Test
{
	public static void Main()
	{
		string text = "енот, енот, гваделупский енот, косумельский енот, енот, енот-полоскун, енот-ракоед, косумельский енот";
		var result = text.Split(',').Select(x => x.Trim()).Distinct().Aggregate((r, word) => r + ", " + word);
		Console.WriteLine(result);
	}
}
Ответ написан
Комментировать
wkololo_4ever
@wkololo_4ever
var distinctString=  String.Join(", ","енот, енот, гваделупский енот, косумельский енот, енот, енот-полоскун, енот-ракоед, косумельский енот".Split(',').Select(w=>w.Trim()).Distinct());
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы