[LUA] 在字符串中计算数字和运算符

我正在尝试创建一个基本的计算器,将用户命令作为字符串处理。例如,考虑将输入作为 5+3-2/5。在这个字符串中,我需要计算有多少个数字和运算符。那么,有什么解决办法呢?

点赞
用户107090
用户107090

gsub 返回进行的替换次数。所以尝试以下代码:

s="5+3-2/5"

function count(s,p)
    local _,n=s:gsub(p," ")
    return n
end

print(count(s,"%d+"))
print(count(s,"[+%-*/]"))

该代码假定数字均为整数。

2018-11-28 10:17:43