String Lua-如何在中间用一个变量为%d的字符串来生成IF条件?

String Lua-如何在中间用一个变量为%d的字符串来生成IF条件?,string,lua,character,String,Lua,Character,所以我试着比较一个字符串是否匹配一个模式(我必须知道字符串后面没有别的!!!)和字符串里面有一个数字(我不知道哪个数字是) 我做了这个函数,但在某些情况下它不起作用,我想一定已经有解决方案了 function Match(string, pattern) local start , final = string.find(string,pattern) local len = string.len( string ) if len == final then return

所以我试着比较一个字符串是否匹配一个模式(我必须知道字符串后面没有别的!!!)和字符串里面有一个数字(我不知道哪个数字是)

我做了这个函数,但在某些情况下它不起作用,我想一定已经有解决方案了

function Match(string, pattern)
    local start , final = string.find(string,pattern)
    local len = string.len( string )
    if len == final then return true else return false end
end
我这样称呼它

    if Match(item_loop_name,"!MEx CH %d+ %- "..name) == true then 
        --bla bla bla doing something
    end
问题是我的变量名有时有一些特殊字符,如-!%那个乱七八糟的字符串。找到了吗


非常感谢

如果您想确保在字符串末尾找到您的模式,您可以使用
$

local str=“我养了3头猪和一头牛”

“我拥有%d只以上的清管器”
将匹配

“我拥有%d+头猪$”
不会

因此,不必检查字符串的最后一个字符的位置和字符串长度,您只需执行以下操作

local stringOk = yourString:match("yourPattern$") and true or false

请参阅Lua手册


请理解,没有字符串示例,就无法提供进一步的帮助。

如果您不提供示例,我们无法为您提供太多帮助。谢谢您解决了这个问题:)
local stringOk = yourString:find("yourPattern$") and true or false