проверка ссылки на наличие одного из слов в списке

sunblaze

Пользователь
Регистрация
16.07.2013
Сообщения
42
Благодарностей
2
Баллы
8
Есть список с некоторым количеством слов ( по одному в строке) , надо ссылку проверить на наличие хотя бы одного слова из списка. Как реализовать?
 
Регистрация
28.06.2016
Сообщения
308
Благодарностей
17
Баллы
18
какой список? какое слово?
А вообще можно получить строку из списка содержащие нужный текст.
 

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 427
Благодарностей
5 453
Баллы
113
какой список? какое слово?
А вообще можно получить строку из списка содержащие нужный текст.
Это не то. Ему нужно брать каждую строку и сверять с ссылкой. Если список большой то это будет долго. Если там строк 500 даже, то без проблем можно построчно проверять.
 
Регистрация
28.06.2016
Сообщения
308
Благодарностей
17
Баллы
18
Это не то. Ему нужно брать каждую строку и сверять с ссылкой. Если список большой то это будет долго. Если там строк 500 даже, то без проблем можно построчно проверять.
Если так, то я помещаю все данные из списка/файла в переменную. Далее с помощью регулярки дёргал нужную ссылку(содержащий нужное слово)

У меня таким способом логика работает на. Юзаные/не юзанные ссылки
 
  • Спасибо
Реакции: orka13
Регистрация
28.06.2016
Сообщения
308
Благодарностей
17
Баллы
18
какой список? какое слово?
А вообще можно получить строку из списка содержащие нужный текст.
Скинь пример из чего нужно найти,
Есть список с некоторым количеством слов ( по одному в строке) , надо ссылку проверить на наличие хотя бы одного слова из списка. Как реализовать?
покажи пример
 

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 183
Баллы
113
Если так, то я помещаю все данные из списка/файла в переменную. Далее с помощью регулярки дёргал нужную ссылку(содержащий нужное слово)

У меня таким способом логика работает на. Юзаные/не юзанные ссылки
Это сначала еще надо Escape строки сделать для элементов списка перед склеиванием в регулярку. И если список крупный, то зенка зависнет на проверке длинющей регуляркой. Это лучше все же построчно сравнивать, так хоть хоть может и дольше, но точно не зависнет.
 

sunblaze

Пользователь
Регистрация
16.07.2013
Сообщения
42
Благодарностей
2
Баллы
8
Скинь пример из чего нужно найти,


покажи пример
Есть список, допустим List. В нем по одному слову в строке , допустим :
слово1
слово2
слово3
слово4

Есть ссылка , например www.google.com/слово1-привет-пока

Эту ссылку надо проверить на наличие одного из слов в списке
 
Регистрация
28.06.2016
Сообщения
308
Благодарностей
17
Баллы
18
Регистрация
28.06.2016
Сообщения
308
Благодарностей
17
Баллы
18
- Из ссылки попробуй регуляркой дёрнуть слово1. В переменную А.
- привяжи лист к файлу, из файла положи содержимое в переменную Б.
- регуляркой (которая будет состоять из переменной А) ей дерни значения из переменной Б.

Если найдётся то то ок. Через IF пускай куда надо.

Надеюсь понятно описал...))
 

zarufakis

Client
Регистрация
22.03.2019
Сообщения
1 676
Благодарностей
1 066
Баллы
113
Если слов не слишком много, ищим совпадение по каждому слову по отдельности. Все сразу сравнить, это думается только на C# можно реализовать.
 

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 183
Баллы
113
Ща на C# нарисую, не ссыте.
 
  • Спасибо
Реакции: Mikhail B.
Регистрация
28.06.2016
Сообщения
308
Благодарностей
17
Баллы
18
да вроде получилось. если я правельно логику понял.
 

Вложения

  • Спасибо
Реакции: sunblaze

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 183
Баллы
113
Есть список, допустим List. В нем по одному слову в строке , допустим :
слово1
слово2
слово3
слово4

Есть ссылка , например www.google.com/слово1-привет-пока

Эту ссылку надо проверить на наличие одного из слов в списке
C#:
IZennoList List = project.Lists["List"]; // тут указываем свой список, а в переменной "Url" должна быть наша ссылка для проверки
lock(SyncObjects.ListSyncer)
{
    for(int i = 0; i < List.Count; i++) {
        if (project.Variables["Url"].Value.Contains(List[i])) {
            return "содержит!";
        }
    }
    return "НЕ содержит!"; // мы ранее пролистали весь список и не нашли совпадения
}
 

sunblaze

Пользователь
Регистрация
16.07.2013
Сообщения
42
Благодарностей
2
Баллы
8
C#:
IZennoList List = project.Lists["List"]; // тут указываем свой список, а в переменной "Url" должна быть наша ссылка для проверки
lock(SyncObjects.ListSyncer)
{
    for(int i = 0; i < List.Count; i++) {
        if (project.Variables["Url"].Value.Contains(List[i])) {
            return "содержит!";
        }
    }
    return "НЕ содержит!"; // мы ранее пролистали весь список и не нашли совпадения
}
То что надо! Спасибо)
 

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