Как проверить есть ли определенный набор символов в ресурсе?



  • Все обыскал..вроде бы
    Нашел только как проверить содержание СТРОКИ в ресурсе, а как проверить содержится ли какой то текст в ресурсе не нашел. Поможите пжта!)

    Вот так не работает: {{accounts_base}}.indexOf("[[FOREACH_DATA]]") >= 0]

    0_1567750036924_Безымянный.png



  • @mish987i said in Как проверить есть ли определенный набор символов в ресурсе?:

    Все обыскал..вроде бы
    Нашел только как проверить содержание СТРОКИ в ресурсе, а как проверить содержится ли какой то текст в ресурсе не нашел. Поможите пжта!)

    Вот так не работает: {{accounts_base}}.indexOf("[[FOREACH_DATA]]") >= 0]

    0_1567750036924_Безымянный.png

    Используйте метод RMap(), если проверяете на точное совпадение всей строки, то подойдёт поиск элемента через .indexOf(value), если необходим поиск части строки, то только перебором.



  • @fox

    Спасибо, Только что решил все по своему , просто убрал кавычки и заработало: {{accounts_base}}.indexOf([[FOREACH_DATA]]) >= 0



  • @mish987i said in Как проверить есть ли определенный набор символов в ресурсе?:

    @fox

    Спасибо, Только что решил все по своему , просто убрал кавычки и заработало: {{accounts_base}}.indexOf([[FOREACH_DATA]]) >= 0

    Ваш код проверяет совпадение строки в строке ресурса, а я привёл пример с поиском строки во всём ресурсе.
    В любом выражении переменные не стоит обрамлять в кавычки, что бы она не читалась строкой.



  • поспешил я радоваться, и так почему то не находит:

    var lines = RMap("accounts_base")
    var index = lines.indexOf([[FOREACH_DATA]])
    if(index >= 0)
       log("Строка существует")
    else
       log("Строка не существует")
    

    Данные из окна переменных и ресурсов:

    FOREACH_DATA: "79123612000:197200"

    accounts_base: [
    "79123612000:197200:1567703526651"
    "79123239999:028699:1567703526692"
    ]



  • @mish987i said in Как проверить есть ли определенный набор символов в ресурсе?:

    поспешил я радоваться, и так почему то не находит:

    var lines = RMap("accounts_base")
    var index = lines.indexOf([[FOREACH_DATA]])
    if(index >= 0)
       log("Строка существует")
    else
       log("Строка не существует")
    

    Данные из окна переменных и ресурсов:

    FOREACH_DATA: "79123612000:197200"

    accounts_base: [
    "79123612000:197200:1567703526651"
    "79123239999:028699:1567703526692"
    ]

    Я же выше написал, что сопоставление осуществляется со всей строкой, если вы хотите найти подстроку (часть строки) то нужно циклом перебирать элементы ресурса.



  • что то вообще не понятно как это сделать, вроде бы обычное действие (в обычном блокноте даже есть кнопка НАЙТИ во всем файле)



  • а можно ли в Списках действием Содержит проверить строки, но в Значение поставить регулярку , например так 79123612000:197200([0-9]+) ?
    Что бы при совпадении начала строк, результату присваивалось бы true



  • Вообщем решил такими костылями:

    Ресурс в Список, --> Объединить строку

    далее: Подходит ли строка под регулярку

    0_1567766534896_Безымянный.png

    у меня ресурс небоьшой - так сойдёт, а как будет объединять и обрабатывать регулярка большие файлы вопрос..



  • А так хотелось бы видеть кнопку в BAS : Найти в ресурсе. - это к запросу функционала))



  • @mish987i Так создайте тему. Существует раздел Запросы функционала


Log in to reply