Lua中查找一个字符串(该字符串可能包含空格)

如何在joysticks字符串变量中查找子字符串Joy-Con(R)?

如何在joysticks变量中查找任何子字符串?

function love.load()
    joysticks = "Joy-Con (R) Joy-Con (L)"
end
function love.joystickadded( joystick )
    if not joysticks:find( joystick:getName() ) then
        print("不支持")
    end
end
点赞
用户5697743
用户5697743

下面存在一个问题 XY:

  1. 问题不在空格,而是在于 -()
  2. 检查是否允许任何内容的方式不正确。

真正的解决方案:

function love.load()
    joysticks = {
        ['Joy-Con (R)'] = true
        ['Joy-Con (L)'] = true
    }
end
function love.joystickadded( joystick )
    if not joysticks[joystick:getName()] then
        print("not supported")
    end
end

您可以创建一个数组,其中索引是允许的值(手柄),然后检查确切的匹配。这样有一些优点:

1.速度更快。 2.它给你确切的匹配(Joy-Co将不匹配)。

使用转义-()(例如,%-)。

2018-05-24 13:54:01