Lua查找字符串中可能包含空格的字符串

时间:2018-05-24 13:29:36

标签: lua pattern-matching

如何在操纵杆字符串变量中找到子串Joy-Con(R)?

如何在游戏杆变量中找到任何子字符串?

function love.load()
    joysticks = "Joy-Con (R) Joy-Con (L)"   
end
function love.joystickadded( joystick )
    if not joysticks:find( joystick:getName() ) then
        print("not supported")
    end
end

1 个答案:

答案 0 :(得分:1)

XY存在问题:

  1. 问题不在空格中,而在-()
  2. 检查任何允许的内容都不正确。
  3. 真正的解决方案:

    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不匹配)。
    3. 使用%转义-()(例如%-)。