KonVi_SEO@twitter
25-10-2017, 20:13
Добрый день!
Пишу небольшую программулину для работы, почти все функции реализовал, но осталась одна, которую не могу решить. Короче, выкладываю суть вопроса:
Есть поле Memo1 в нем строки вида:
смартфоны цены
смартфоны
недорогие смартфоны
лучшие смартфоны
купить хороший смартфон
купить смартфон цена
купить смартфон в спб
купить смартфон в магазине
купить смартфон в интернет магазине
нужна функция, которая удалит строки с вхождением слов из других строк
к примеру, есть две строки:
смартфоны
недорогие смартфоны
должна остаться:
недорогие смартфоны
так как первая строка содержит текст, который есть в строке два
при обработке строк должно получиться:
источник:
смартфоны цены
смартфоны
недорогие смартфоны
лучшие смартфоны
купить хороший смартфон
купить смартфон цена
купить смартфон в спб
купить смартфон в магазине
купить смартфон в интернет магазине
Получили:
недорогие смартфоны
лучшие смартфоны
купить хороший смартфон
купить смартфон цена
купить смартфон в спб
купить смартфон в интернет магазине
Вот что я написал (точнее подсказал Alexander Gamza):
AnsiString SearchStr;
for(int i=0; i<Memo1->Lines->Count; i++){
SearchStr = Memo1->Lines->Strings[i];
for(int j=i+1; j<Memo1->Lines->Count; j++)
{
if(Memo1->Lines->Strings[j].Pos(SearchStr))
Memo1->Lines->Delete(i);
}//end for j
}//end for i
но функция работает не корректно((
помогите!
Пишу небольшую программулину для работы, почти все функции реализовал, но осталась одна, которую не могу решить. Короче, выкладываю суть вопроса:
Есть поле Memo1 в нем строки вида:
смартфоны цены
смартфоны
недорогие смартфоны
лучшие смартфоны
купить хороший смартфон
купить смартфон цена
купить смартфон в спб
купить смартфон в магазине
купить смартфон в интернет магазине
нужна функция, которая удалит строки с вхождением слов из других строк
к примеру, есть две строки:
смартфоны
недорогие смартфоны
должна остаться:
недорогие смартфоны
так как первая строка содержит текст, который есть в строке два
при обработке строк должно получиться:
источник:
смартфоны цены
смартфоны
недорогие смартфоны
лучшие смартфоны
купить хороший смартфон
купить смартфон цена
купить смартфон в спб
купить смартфон в магазине
купить смартфон в интернет магазине
Получили:
недорогие смартфоны
лучшие смартфоны
купить хороший смартфон
купить смартфон цена
купить смартфон в спб
купить смартфон в интернет магазине
Вот что я написал (точнее подсказал Alexander Gamza):
AnsiString SearchStr;
for(int i=0; i<Memo1->Lines->Count; i++){
SearchStr = Memo1->Lines->Strings[i];
for(int j=i+1; j<Memo1->Lines->Count; j++)
{
if(Memo1->Lines->Strings[j].Pos(SearchStr))
Memo1->Lines->Delete(i);
}//end for j
}//end for i
но функция работает не корректно((
помогите!