Как удалить дубли цифр в строке

soprano

Client
Регистрация
25.08.2011
Сообщения
796
Благодарностей
841
Баллы
93
Есть строка с цифрами и разделителем |
46-48|48-50|50-52|46-48|48-50|50-52|46-48|48-50|50-52
Нужно удалить все повторяющиеся блоки цифр, т.е здесь должно остаться
Вот такой вариант не прошёл
C#:
string str = " 46-48|48-50|50-52|46-48|48-50|50-52|46-48|48-50|50-52";
str = String.Join(" ", str.Split('|').Distinct());
и такой тоже не то
C#:
    string str = " 46-48|48-50|50-52|46-48|48-50|50-52|46-48|48-50|50-52";
    int i = 0;
    while (true)
    {
        var tmp = str[i].ToString();
        str = str.Replace(tmp, "");
        str = str.Insert(i, tmp);
        i++;
        if (str.Length - 1 < i)
            break;
    }
Подскажите, кто знает.
 
Последнее редактирование:

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 021
Благодарностей
1 383
Баллы
113
Вот такой вариант не прошёл
C#:
string str = " 46-48|48-50|50-52|46-48|48-50|50-52|46-48|48-50|50-52|";
str = String.Join(" ", numbersz.Split('|').Distinct());
а откуда numbersz взялся то?
Также, полагаю, что пробел в начале строки это тоже не опечатка? Хотя, трим в любом случае не повредит..
Тогда результирующий код будет такой
C#:
string str = " 46-48|48-50|50-52|46-48|48-50|50-52|46-48|48-50|50-52|";
return string.Join("|", str.Trim().Split('|').Distinct().Where(x=>!string.IsNullOrEmpty(x)));
 
  • Спасибо
Реакции: soprano

soprano

Client
Регистрация
25.08.2011
Сообщения
796
Благодарностей
841
Баллы
93
numbersz это str, не переименовал. и пробела нет.
Получилось. Супер!!
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)