regex - Find the filename with highest number in a folder -


i have folder lot of files, they're named based on pattern iterating number in it.

i'm trying save new files through vb.net. aim name highest number of folder +1

there looked on internet , found lot of things regex , linq helped me make following code :

if tmpfilename.contains("%num%")         dim lastfileno integer = 1         dim tmpfname = dir(frmmain.savelocaltfpath & "*.docx")         dim numbers() integer = regex.split(tmpfname, "(?<alpha>[\w-[0-9]]+)(?<num>[\d]+)").skip(1).select(function(s) integer.parse(s)).toarray         each element in numbers             if element > 0 , element < 999 , element > lastfileno lastfileno = element         next         until tmpfname = ""             numbers = regex.split(tmpfname, "(?<alpha>[\w-[0-9]]+)(?<num>[\d]+)").skip(1).select(function(s) integer.parse(s)).toarray             each element in numbers                 if element > 0 , element < 1000 , element > lastfileno lastfileno = element             next             tmpfname = dir()         loop         tmpfilename = tmpfilename.replace("%num%", lastfileno)     end if 

but doesn't work expected. has first code in linq , in regex , i'm not used detect wrong in code. can give hint please?

thanks

i'm pretty sure regex wrong. split code little bit, create function pulls number filename. ex

function getnumberfromfilename(byval filename string) integer      ' filename parameter, pull number , return end function 

then it'll easy test

console.writeline(getnumberfromfilename("jcr 2013-01 data.docx")) 

when got working, loop files highest number

dim lastfileno integer = 1 dim files() string = io.directory.getfiles(frmmain.savelocaltfpath, "*.docx")  each file string in files     dim number integer      number = getnumberfromfilename(file)      if number > 0 , number < 1000 , number > lastfileno         lastfileno = number     end if next 

Comments