поддержка регулярных выражений

Статус
В этой теме нельзя размещать новые ответы.

-lester

Участник
Автор темы
29
12
Версия MoonLoader
.026-beta
у меня есть скрипт, при вводе <текст1> в диалоге он заменит его на <второйтекст2>

возможно ли вообще добавить поддержку регулярных выражений, чтобы я мог заменить <текст1> на <текст(%d+)> и <второйтекст2> на <второйтекст(%d+)> и при вводе к примеру текст6 он заменял <текст1> на второйтекст6, если да, то как?

<текст1> и <второйтекст2> не статичны и могут изменяться, добавляться пользователями скрипта
 

-lester

Участник
Автор темы
29
12

Lua:
functinon on.onShowDialog (did, style, title, b1, b2, text)
    if did == 69--[[Свой ид диалога]] then
        text = string.gsub(text,'свой текст')
        return text
    end
end
спасибо, видимо я не так составил свой вопрос, поэтому лучшим решением я выбрал записать видео
( сначала я написал в диалог text1 и он заменился на text2, потом я писал test<произвольные цифры, в моем случае 9,8,7> и вместо get <произвольная цифра> я получал get (%d+), как можно это исправить? ) (извините за качество, не до конца настроил программу записи)
 

kizn

О КУ)))
Всефорумный модератор
2,404
2,058
Тут надо в коде разбираться а не делать замену
чо? ты в коде то разберись в своем для начала
Lua:
text = string.gsub(text,'свой текст')
string.gsub принимает 3 или 4 аргумента, а ты передаешь 2 - сам же скинул ссылку:
1657706580453.png
 
  • Ха-ха
Реакции: imring

-lester

Участник
Автор темы
29
12
вот код замены, реально ли вообще реализовать поддержку регулярных выражений?
Lua:
        for i = 1, #list do
            if list[i] then
                if sampGetCurrentDialogEditboxText():find(list[i][1]) then
                    local text = sampGetCurrentDialogEditboxText():gsub(list[i][1], list[i][2]..' ')
                    sampSetCurrentDialogEditboxText(text)
                end
            end
        end
 

qdIbp

Автор темы
Проверенный
1,387
1,143
чо? ты в коде то разберись в своем для начала

string.gsub принимает 3 или 4 аргумента, а ты передаешь 2 - сам же скинул ссылку:
Посмотреть вложение 157100
Душный ты...
Я думал что написал xz:gsub(text,'свой текст') но забыл заменить, все мы люди, мы можем совершать ошибки, без ошибок мы небыли бы людьми, а какиме то суперпупермегадупер человек
И определись сколько используются аргументов
Всего их 4, а чаще всего используют 3
 

kizn

О КУ)))
Всефорумный модератор
2,404
2,058
И определись сколько используются аргументов
Всего их 4, а чаще всего используют 3
написано в документации - 4 аргумент string.gsub это максимальное количество замен (третий для :gsub)

а ещё твой пример не будет работать, потому что ты делаешь "return text"
 

-lester

Участник
Автор темы
29
12
ребята, так то что я хочу реализовать вообще возможно?
спасибо, видимо я не так составил свой вопрос, поэтому лучшим решением я выбрал записать видео
( сначала я написал в диалог text1 и он заменился на text2, потом я писал test<произвольные цифры, в моем случае 9,8,7> и вместо get <произвольная цифра> я получал get (%d+), как можно это исправить? ) (извините за качество, не до конца настроил программу записи)
 
Статус
В этой теме нельзя размещать новые ответы.