Lua学习之从文件中找字符串
涉及简单的文件打开关闭操作,和String库中string.find()的用法。
我们在和此代码所在文件的路径里放了一个文件夹lifeforrent.txt,里面是life for rent 的歌词,我们查找里面”nothing”出现的所在行。
代码块
-- find the string "nothing"
function allwords()
local line = file:read()
local pos = 1
local row = 1
return function ()
while line do
local s, e = string.find(line,"rent",pos)
if s then
pos = e + 1
return row,string.sub(line,s,e)
else
line = file:read()
pos = 1
row = row + 1
end
end
return nil
end
end
-- open the file
file = assert(io.open("lifeforrent.txt","r"))
for index,word in allwords() do
print (index,word)
end
-- close the file
file:close()
下面是运行结果: