如何打印子字符串?

时间:2015-08-14 19:56:46

标签: lua

function read_file(file)
data = io.open(file, "r")
for char in data:lines() do
    if char == "print>" then
        print(string.sub(char, 6))
    end
end
data:close()
end

function run()
while true do
    print("Open a file")
    file = io.read()
    print("")
    read_file(file)
    print("")
end
end

run()
  

代码“如果char ==”打印>“然后打印(string.sub(char,6))结束”将没有显示任何内容,我试图修复此问题我甚至查了一下但没有运气,任何想法关于如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

您应该使用string.match和/或string.sub

以下所有解决方案都可行:

if char:match "^print>" then print( char:sub(7) ) end

local d = char:match "^print>(.+)"
if d then print(d) end