Здравствуйте, В массив $aResult записаны ссылки, файл hyt.txt содержит ссылки построчно. Подскажите, как удалить из массива ссылки которые есть в файле.
Столкнулся с новой проблемой. Если руками, для теста, заполнить массив как в примере, тогда массив чистится без проблем. Однако, если получаю ссылки в массив через библиотеку UIAUTOMATE.au3, то массив не получается почистить.
Код:
;==============================================================; ПОЛУЧИЛИ ВСЕ ПОДРЯД ССЫЛКИ В МАССИВ $A_PARSER_SITE_no_uniq[0];==============================================================Global$A_PARSER_SITE_no_uniq[0]$All=_UIA_FindAllElements($oParent)For$i=1to$All[0]If_UIA_ElementGetPropertyValue($All[$i],"LocalizedControlType")="ссылка"Then_ArrayAdd($A_PARSER_SITE_no_uniq,_UIA_ElementGetPropertyValue($All[$i],"Value.Value"),""," ")EndifNext;==============================================================; ЧИСТИМ МАССИВ ПО МАСКЕ;==============================================================GLOBAL$A_MASKA[0]_ArrayAdd($A_MASKA,"yandex",""," "); для проверкиFor$i=0ToUBound($A_MASKA)-1$ind=_ArraySearch($A_PARSER_SITE_no_uniq,$A_MASKA[$i],0,0,0,1)If$ind<>-1Then_ArrayDelete($A_PARSER_SITE_no_uniq,$ind)EndIfNext_ArrayDisplay($A_PARSER_SITE_no_uniq); на выходе массив без изменений, все ссылки содержащие yandex на месте
Столкнулся с новой проблемой. Если руками, для теста, заполнить массив как в примере, тогда массив чистится без проблем. Однако, если получаю ссылки в массив через библиотеку UIAUTOMATE.au3, то массив не получается почистить.
Код:
;==============================================================; ПОЛУЧИЛИ ВСЕ ПОДРЯД ССЫЛКИ В МАССИВ $A_PARSER_SITE_no_uniq[0];==============================================================Global$A_PARSER_SITE_no_uniq[0]$All=_UIA_FindAllElements($oParent)For$i=1to$All[0]If_UIA_ElementGetPropertyValue($All[$i],"LocalizedControlType")="ссылка"Then_ArrayAdd($A_PARSER_SITE_no_uniq,_UIA_ElementGetPropertyValue($All[$i],"Value.Value"),""," ")EndifNext;==============================================================; ЧИСТИМ МАССИВ ПО МАСКЕ;==============================================================GLOBAL$A_MASKA[0]_ArrayAdd($A_MASKA,"yandex",""," "); для проверкиFor$i=0ToUBound($A_MASKA)-1$ind=_ArraySearch($A_PARSER_SITE_no_uniq,$A_MASKA[$i],0,0,0,1)If$ind<>-1Then_ArrayDelete($A_PARSER_SITE_no_uniq,$ind)EndIfNext_ArrayDisplay($A_PARSER_SITE_no_uniq); на выходе массив без изменений, все ссылки содержащие yandex на месте
Так же если в $A_PARSER_SITE_no_uniq добавить новые строки "yandex" , "yandex.ru", после того как массив заполнился ссылками с сайта - они так же не удаляются
Сообщение автоматически объединено:
невнимателен был, удаляется 1 строка. Я так понимаю зациклить надо. Но как правильно это сделать?
Сообщение автоматически объединено:
Возможно я не совсем точно сформулировал вопрос. Нужно что бы все значения массива $A_MASKA были удалены из массива $A_PARSER_SITE_no_uniq.
в текущем варианте удаляется только по 1 совпадению.
Сообщение автоматически объединено:
Решил вопрос циклом While Wend
Знаете, как лучше сделать, поделитесь пожалуйста