【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