【发布时间】:2019-09-23 01:22:40
【问题描述】:
假设我在 Lua 中有这个:
myvara = "Box red"
myvarb = "Box red 36"
如果数字每次都变化,我如何形成一个表达式来查看两个变量是否相同?即我只想检查两个变量是否都是红色框,但数字并不重要。
我想使用模式匹配,但我不知道如何在表达式中有效地做到这一点。我不想用string.find,它必须是模式匹配。
我需要做的是:
if myvara == myvarb (ignoring box number) then...
... 使用模式匹配(不是 string.find 或类似的东西)。
哦,有时单词的数量可能会有所不同,并且该数字可能位于不同的位置。这就是我需要使用模式匹配的原因。
谢谢。
【问题讨论】:
-
"使用模式匹配(不是 string.find 或类似的东西)。"
string.finduses pattern matching. -
该页面上有很多不同的方法。我应该使用哪个?它会是 string.gsub 还是 string.match 或其他?我希望能够在一个语句中做到这一点(所以没有 for 循环或任何东西)。
-
在比较之前将所有数字替换为数字 0:
if myvara:gsub("%d+", "0") == myvarb:gsub("%d+", "0") then -
我稍微更新了我的问题,因为我认为我的措辞有误。如果我想检查 'red box' 是否等于 'red box x' 其中 x 是任意数字怎么办?
标签: lua