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

相關文章
相關標籤/搜索