String - Модуль для работы со строками

Делитесь модулями
  • @dobrok said in String:

    @DoctorKrolic said in String:

    @000 Что "да"?

    Кажется фокс прокололся с другого аккаунта )))

    Тьфу...забыл выход нажать. Сейчас все удалю...

  • @000 said in String:

    @dobrok said in String:

    @DoctorKrolic said in String:

    @000 Что "да"?

    Кажется фокс прокололся с другого аккаунта )))

    Тьфу...забыл выход нажать. Сейчас все удалю...

    у меня на этом форуме только один аккаунт, ну если только шизофрения не живёт отдельной жизнью :DDD

  • Количество слов
    баг если слово - Przemysław
    Ето изза символа польського - показивает 2 слова. Жаль насторил себе на чекинг етим модульом

  • @selector, это не баг, а недоработка, т.к ł - юникод символ, а данное действие поддерживало только небольшую часть юникод символов.

    Добавил поддержку большинства юникод букв и чисел в действия "Разделить предложение на слова" и "Количество слов", перекачайте модуль из шапки темы.

  • Добавьте плиз в модуль также Decode/Encode такого формата - \u0443\u043a\u0430\u0437\u0430\u043d\u043e , сейчас не получается через бас его декодировать

  • @Zack9 выполнить код

    [[STRING]] = 'указано'
    
    //encode
    [[STRING]] = [[STRING]].split('').map(function(char) {
        var code = char.charCodeAt(0).toString(16)
        while(code.length < 4) {
            code = '0' + code
        }
        return '\\u' + code
    }).join('')
    log([[STRING]])
    
    //decode
    [[STRING]] = [[STRING]].replace(/\\u([^\\]+)/g, function(str, code) {
        return String.fromCharCode(parseInt(code, 16))
    })
    
    log([[STRING]])
    
  • @UserTrue не срабатывает, но мне больше для кодирования обычного текста в этот формат нужно. Сейчас онлайн сервис для этого использую, но лучше конечно в модуль добавить

  • @Zack9 изменил

  • @UserTrue спасибо это работает

  • Версия BAS 24.0.8
    из модуля "Строка" - действие "Создать CSV строку", копируем метод в виде BAS API

    VAR_CSV_STRING = _csv_generate([_avoid_nil("One"), _avoid_nil("TWO")], ":");
    

    В режиме запуска ошибка - ReferenceError: Can't find variable: _csv_generate во время выполнения действия

    В версии BAS 23.2.2 - этот же код отрабатывает нормально
    8888.xml

  • @inotoxic, используете любое действие модуля и всё будет работать, модуль не устанавливается если не используется.

  • Модуль установлен во ВСЕХ установленных версия BAS на компьютере

    • в 24.0.8 - модуль строка установлен по умолчанию

    ... или я что-то не так понял

  • @inotoxic, код модуля не выполняется если ни одно его действие не используется в проекте.

  • @GhostZ а этот код -

    VAR_CSV_STRING = _csv_generate([_avoid_nil("One"), _avoid_nil("TWO")], ":");
    

    разве не вызывает дейтсвие модуля ?

  • @inotoxic, этот код вызывает функции модуля, но так как действия модуля не используются функции не существуют.

  • @GhostZ Спасибо, за разъяснение

  • @GhostZ А накой это вообще сделали? Сейчас из-за этого вот такие "странные" баги будут периодически у людей вылезать. Я не думаю, что не загрузив этот модуль, можно будет сэкономить хотя бы +- внушительное количество ресурсов.

  • @DoctorKrolic said in String:

    @GhostZ А накой это вообще сделали? Сейчас из-за этого вот такие "странные" баги будут периодически у людей вылезать. Я не думаю, что не загрузив этот модуль, можно будет сэкономить хотя бы +- внушительное количество ресурсов.

    Перечитайте первое сообщение пользователя:

    85d4fe09-2696-4468-a630-4fc20646110f-изображение.png

  • @Fox Ну так и что? BAS API бывает вполне удобным, я сам в нескольких проектах proxy_parse использую, чтобы независимо от формата уже использованные прокси отфильтровывать.

  • @DoctorKrolic said in String:

    @Fox Ну так и что? BAS API бывает вполне удобным, я сам в нескольких проектах proxy_parse использую, чтобы независимо от формата уже использованные прокси отфильтровывать.

    Это решение принял саппорт уже давно, версий 5 назад появилась эта фишка с отключением модулей. Необходимо это было в первую очередь для ускорения запуска больших скриптов. Да и использование bas api черевато, так как оно может поменяться от версии к версии и вызывать ошибки.