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

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

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

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

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


Как это можно реализовать?
  • Вопрос задан
  • 406 просмотров
Подписаться 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());
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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