如何获取字符串中char的索引?

时间:2017-08-02 21:37:01

标签: lua

所以,基本上我正在尝试创建一个解决x值的函数。

例如,

,x + 4 = 8 所以我试图这样做,它用“”替换x,然后在这种情况下得到它前面的符号,“+”并用“”替换它 但为了这样做,而不是删除它背后的虚构符号,我需要检查索引是否为1。

我的大脑受伤了。

这是我对该函数所拥有的内容,我删除了一些获取索引的代码,导致它无法正常工作。

mathMod.solveExpression = function(variable, expression)
    if (string.find(expression, "=") == nil) then
        -- void
    else
        -- continue with search but with variable
        if (string.find(expression, variable) == nil) then
            -- void
        else
            -- ooh time for some sneaky equations
            local copy = expression

            for i = 1, #expression do
                local c = expression:sub(i,i)
                if (expression == c) then

                end
            end
        end
    end
end

/链接到我的代码`https://pastebin.com/DnKPdw2q /

1 个答案:

答案 0 :(得分:1)

如果你的方程式都是 var op a = b 的形式,请尝试使用Lua模式匹配的代码:

s=" x + 4 = 8 "
var,op,a,b = s:match("(%w+)%s*(%p)%s*(%d+)%s*=%s*(%d+)") 
print(var,op,a,b)

模式捕获第一个单词作为 var ,跳过空格,捕获标点符号作为操作,跳过空格,捕获操作数 a ,跳过可能被空格包围的等号,最后捕获操作数 b