Lua string文件类型判断和内容解析

【1】文件名称类型判断和解析函数

 1 local fileName = "shanxi201904npsdr1_200000.zip"
 2 print("len : " .. string.len(fileName))
 3 
 4 local start, length = string.find(fileName, ".zip")
 5 print("start : " .. start .. " length : " .. length)
 6 if length == string.len(fileName) then
 7     local index = string.find(fileName, "_")
 8     print("index : " .. index)
 9 
10     local before_index = string.sub(fileName, 1, index - 1)
11     local after_index = string.sub(fileName, index + 1, start - 1)
12     print("before_index : " .. before_index)
13     print("after_index : " .. after_index)
14 else
15     print("file is not zip type!")
16 end
17     
18 --[[
19 len : 29
20 start : 26 length : 29
21 index : 19
22 before_index : shanxi201904npsdr1
23 after_index : 200000
24 --]]

程序解析:lua

第4行:利用find函数查找“.zip”后缀,判断文件类型是否为zip压缩包。此函数返回两个值,start为.zip的起始索引,length为结束索引。spa

第6行:判断length结束索引与文件名字符串长度相等,相等即为zip文件;不等即不是zip文件。code

第7行:利用find函数查找“_”字符,按文件名命名规则,字符“_”以前的内容为文件名,字符“_”以后的内容为文件总行数。返回查找到的索引。blog

第10行:利用sub函数,获取子串,字符“_”以前的文件名内容。索引

第11行:利用sub函数,获取子串,字符“_”以后的文件总行数内容值:200000。ip

注意一点:lua的下标从1开始,因此对应理解第十、11行的索引发始写法。字符串

 

Good Good Study, Day Day Up.string

顺序 选择 循环 总结class

相关文章
相关标签/搜索