2010-10-24 3 views

ответ

9

Если эти «подстроки» разделены пробелом, вы можете просто разбить его и взять отдельные элементы и воссоздать строку.

var str = "20 40 30 30 30 30"; 
var distinctstr = String.Join(" ", str.Split().Distinct()); 
+0

+1. Намного легче, чем я это делал. я так сильно отстаю ... Я не много делал с Linq, хотя это было какое-то время, поэтому я никогда даже не слышал о методе Enumerable.Distinct(). Спасибо! – David

+0

Да, они разделены пробелами. Кроме того, я не знал о методе Distinct(), спасибо за информацию! – david

+0

@David Stratton: Играйте с LINQ так часто, как сможете. И не нужно писать только запросы. Такие вещи так же хороши. Это помогает сделать работу с коллекциями намного проще. Я бы сказал, используйте его везде, где только можно, до тех пор, пока вам не понравится мысленный код с точки зрения использования LINQ. Тогда, как вы понимаете пределы своих способностей, вы будете знать, что это такое и не полезно. –

2

Я думаю, что правильный ответ дал ваш вопрос заключается в использовании заменить функции:

string newString = oldString.Replace("30", ""); 

или

string newString = orldString.Replace(" 30", ""); 

избавиться от пробелов ..,

Редактировать просто перечитать ... Моя ошибка. Прости. Не понимал, что вы хотите сохранить ни одного «30».

Смежные вопросы