【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