Разбор имени файла

Опубликовано в QLua

 

-- Разбор имени файла
-- Возвращает 3 значения
-- c:\path\
-- filename
-- ext

function io.splitpath(filename)
   filename = filename or ""

   local path,file,ext
   local file_name

   path,file_name = filename:match("^%s*(.-)([^\\/]*)$")
   if file_name then
      file,ext = file_name:match("([^%.]*)%.?(.*)$")
   end
   return path,file,ext
   end
 
 
print(io.splitpath("c:\\path.0\\file.ext"))
print(io.splitpath("C:\\Users\\8FEE~1\\AppData\\Local\\Temp\\srq0.3\\12"))
print(io.splitpath("C:\\Users\\8FEE~1\\AppData\\Local\\Temp\\srq0.3\\12"))
print(io.splitpath("C:\\Users\\8FEE~1\\AppData\\Local\\Temp\\srq0.3\\.bmp"))
print(io.splitpath("..\\Users\\8FEE~1\\App.Data\\Local\\Temp\\srq03\\.bmp"))
print(io.splitpath("srq0.3\\12"))
print(io.splitpath("srq0.3\\"))

Пробуем:

c:\path.0\ file ext
C:\Users\8FEE~1\AppData\Local\Temp\srq0.3\ 12
C:\Users\8FEE~1\AppData\Local\Temp\srq0.3\ 12
C:\Users\8FEE~1\AppData\Local\Temp\srq0.3\ bmp
..\Users\8FEE~1\App.Data\Local\Temp\srq03\ bmp
srq0.3\ 12
srq0.3\

 

 

 

Архив QLua