Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/19: Рейтинг темы: голосов - 19, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 28.03.2011
Сообщений: 16

Удаление дубликатов по домену

28.03.2011, 22:13. Показов 4102. Ответов 31
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно удалять дуликаты по домену в Memo такого типа
site.com/text
site1.com/text
site.com/text
site1.com/text
site2.com/text
Нужно чтобы остовалось так
site.com/text
site1.com/text
site2.com/text
Но уменя получилось так
site.com/
site1.com/
site2.com/

Помогите с кодом .

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void __fastcall TForm2::Button3Click(TObject *Sender)
{  AnsiString s,b;
      for  (int i = 0;i < Memo1->Lines->Count;i++)
      {
        s= Memo1->Lines->Strings[i].SubString(1,Memo1->Lines->Strings[i].Pos("/"));
          for (int j = 0; j< Memo1->Lines->Count; j++) {
           b= Memo1->Lines->Strings[i].SubString(1,Memo1->Lines->Strings[j].Pos("/"));
            if (s == b   ) {
                 Memo1->Lines->Delete(j) ;
            }
 
              }
            Memo1->Lines->Add(s) ;
      }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.03.2011, 22:13
Ответы с готовыми решениями:

Поиск и удаление дубликатов и инвертированных значений
Доброго времени суток! У меня 2 вопроса: Имеются параметры(например работоспособность телефона в виде двоичного кода): 1 0 1 0 1...

Удаление дубликатов + ассинхронное удаление из другой таблицы
Есть две таблицы tbl_content : id, title tbl_pics : id, picname 1. Нужно удалить дубликаты &quot;title&quot; из таблицы...

Удаление дубликатов
Вопрос, как удалить дубликаты в столбце. Интересует удаление и дубликатов, и оригиналов дубликатов. Другими словами, если есть два...

31
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
29.03.2011, 03:04
Студворк — интернет-сервис помощи студентам
хорошо , окуда берутся адреса сайтов ?
и у меня такое впечатление, что вы читаете мои сообщения через строку - чем не устраивает вариант со StringList ? ведь он делает то, что вам необходимо ?
0
1 / 1 / 0
Регистрация: 28.03.2011
Сообщений: 16
29.03.2011, 03:13  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
хорошо , окуда берутся адреса сайтов ?
и у меня такое впечатление, что вы читаете мои сообщения через строку - чем не устраивает вариант со StringList ? ведь он делает то, что вам необходимо ?
Я очень внимательно читаю ваши сообщения , адреса парсятся с поисковика . В варианте с StringList сравнивается полностью вся строка , а мне нужно , чтобы сравнивалось по домену . Вот Так !
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
29.03.2011, 03:19
путаете меня все время - тогда при чем тут дубликаты ? нужно удалить строку, если она содержит (или не содержит) определенную подстроку, а это уже совсем другой разговор, я так понимаю
0
1 / 1 / 0
Регистрация: 28.03.2011
Сообщений: 16
29.03.2011, 03:29  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
путаете меня все время - тогда при чем тут дубликаты ? нужно удалить строку, если она содержит (или не содержит) определенную подстроку, а это уже совсем другой разговор, я так понимаю
Так то оно так , нужно удалять дубликат не всей строки , а строки которые садаржат дебликаты доменов .

Цитата Сообщение от LK Посмотреть сообщение
нужно удалить строку, если она содержит (или не содержит) определенную подстроку, а это уже совсем другой разговор, я так понимаю
И что делать , если это совсем другой разговор , какой вариант кода тогда должен быть ?
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
29.03.2011, 03:35
ну не дубликаты это! дубликаты - это идентичные строки - из-за
тих дубликатов мы с вами весь вечер и пол-ночи переливаем из пустого в порожнее
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
TStringList list = new TStringList;
list->Add("builder"); // желательные сайты
list->Add("visual");
list->Add("codeblocks");
list->Add("eclipse");
 
for (int i =0; i < list->Count; i++) {
    if (!Memo1->Lines->Strings[i].SubString(list->Strings[i])
        Memo1->Lines->Delete(i); // удаляем все остальное
} 
// или, если в списке - желательные сайты :)
for (int i =0; i < list->Count; i++) {
    if (Memo1->Lines->Strings[i].SubString(list->Strings[i])
        Memo1->Lines->Delete(i); // просто удаляем
}
как-то так
0
1 / 1 / 0
Регистрация: 28.03.2011
Сообщений: 16
29.03.2011, 03:40  [ТС]
Ну тогда я извеняюсь за неправильную постановку задачи
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
29.03.2011, 03:46
тебе нигде не попадалась фраза: "Правильно заданный вопрос - половина ответа" , в нашем случае - процентов 90 , потому как
Нужно удалять дуликаты по домену в Memo такого типа site.com/text
это для меня означает "идентичные строки с доменом site.com", я тупой, тупой, тупой ...
0
1 / 1 / 0
Регистрация: 28.03.2011
Сообщений: 16
29.03.2011, 03:56  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
ну не дубликаты это! дубликаты - это идентичные строки - из-за
тих дубликатов мы с вами весь вечер и пол-ночи переливаем из пустого в порожнее
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
TStringList list = new TStringList;
list->Add("builder"); // желательные сайты
list->Add("visual");
list->Add("codeblocks");
list->Add("eclipse");
 
for (int i =0; i < list->Count; i++) {
    if (!Memo1->Lines->Strings[i].SubString(list->Strings[i])
        Memo1->Lines->Delete(i); // удаляем все остальное
} 
// или, если в списке - желательные сайты :)
for (int i =0; i < list->Count; i++) {
    if (Memo1->Lines->Strings[i].SubString(list->Strings[i])
        Memo1->Lines->Delete(i); // просто удаляем
}
как-то так
А можно както сделать , чтобы переберало не Желательные сайты , а просто те ссылки которые находятся в Memo , сравнивались между собой относительно доменов .Если совподает ссылка с другой ссылкой у которой такойже домен то сылка удаляется . Както так .

Добавлено через 2 минуты
Цитата Сообщение от LK Посмотреть сообщение
тебе нигде не попадалась фраза: "Правильно заданный вопрос - половина ответа" , в нашем случае - процентов 90 , потому какэто для меня означает "идентичные строки с доменом site.com", я тупой, тупой, тупой ...
Ну я же сказал , что извиняюсь За неправильно сформулированый вопрос .
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
29.03.2011, 04:01
А можно както сделать , чтобы переберало не Желательные сайты , а просто те ссылки которые находятся в Memo , сравнивались между собой относительно доменов .Если совподает ссылка с другой ссылкой у которой такойже домен то сылка удаляется .
перечитай внимательно свой вопрос и смотри сюда:
здесь обе ссылки имеют один домен, значит, обе будут удалены, иначе, объясни мне, как комп должен понят, что нужно оставить www.cyberforum.ru/pascal/, а www.cyberforum.ru/cpp-beginners/ удалить ?
1
1 / 1 / 0
Регистрация: 28.03.2011
Сообщений: 16
29.03.2011, 04:09  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
перечитай внимательно свой вопрос и смотри сюда:здесь обе ссылки имеют один домен, значит, обе будут удалены, иначе, объясни мне, как комп должен понят, что нужно оставить www.cyberforum.ru/pascal/, а www.cyberforum.ru/cpp-beginners/ удалить ?
Вот теперь мне все понятно , спасибо что разяснил
1
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
29.03.2011, 04:14
если тебя волнует невидимый и "неизменяемый" в запущеной программу StringList, то можно сделать редактируемый ListBox, и потом использовать
C++
1
if (Memo1->Lines->Strings[i].SubString(ListBox->Items->Strings[i])
, что позволит редактировать список сайтов во время работы программы.
0
1 / 1 / 0
Регистрация: 28.03.2011
Сообщений: 16
30.03.2011, 09:41  [ТС]
Решил поставленую задачю вот таким образом

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void __fastcall TForm2::Button3Click(TObject *Sender)
{    TStringList *list = new TStringList;
  list->Text = Memo1->Text;
   list->Sorted = true;
   AnsiString s,b,c;
      for  (int i = 0;i < list->Count;i++)
      {
            s= list->Strings[i].SubString(1,list->Strings[i].Pos("/"));
             c= list->Strings[i].SubString(1,list->Strings[i].Pos("/")+255) ;
              for (int j = i; j< list->Count; j++) {
               b= list->Strings[j].SubString(1,list->Strings[j].Pos("/")) ;
                if (s == b   ) {
                    list->Delete(j--) ;
                }
              }
              list->Add(c);
            Memo1->Clear();
            Memo1->Text = list->Text;
      }
 
   delete list;
   list = NULL;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.03.2011, 09:41

Удаление дубликатов
Как организовать удаление дубликатов формулой? Такой странный вопрос.

Удаление дубликатов
Как удалить из базы дубликаты, т.е. primati key у них отличаются, а отстальный данные совпадают?

Удаление дубликатов
namespace ConsoleApp3 { class Program { static void Main(string args) { int c; ...

Удаление дубликатов
Всем привет Пробую зачистить строки от повторений Текст строк примерно такой RRs.Mmm.sss.20190124_185954.txt 19:00:01...

Удаление дубликатов
Как с помощью макроса удалить дубликаты( не одну одинаковую линию из двух как в Экселе) а две Пример: 123456 234516 123456 Должна...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
32
Ответ Создать тему
Новые блоги и статьи
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата) Этот документ предназначен для того, чтобы новый чат Claude мог продолжить работу без необходимости заново разбираться в. . .
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса Калибровка параметров симбиотической модели: технический обзор Содержание: Введение Постановка проблемы Технические аспекты реализации Процесс внедрения изменений
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0» https:/ / ibb. co/ NnkGpfMd Представленная интегрированная схема описывает непрерывную нелинейную. . .
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы ### Аннотация Представлено исследование по разработке агентной модели микоризной. . .
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики Контекст Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии Введение Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np class PlantAgent: def __init__(self, name, strategy, initial_biomass): self. name = name self. strategy = strategy # "greedy" (широколиственные) или. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru