我有一个包含很多文件的文件夹,它们是根据其中带有迭代编号的模式命名的。
我正在尝试通过vb.net
. 目的是用文件夹的最高编号+1命名它
在那里,我在互联网上查找了很多关于正则表达式和 Linq 的东西,这帮助我编写了以下代码:
If tmpFileName.Contains("%num%") Then
Dim lastFileNo As Integer = 1
Dim tmpFName = Dir(frmMain.saveLocalTFPath & "*.docx")
Dim numbers() As Integer = Regex.Split(tmpFName, "(?<alpha>[\w-[0-9]]+)(?<num>[\d]+)").Skip(1).Select(Function(s) Integer.Parse(s)).ToArray
For Each element In numbers
If element > 0 And element < 999 And element > lastFileNo Then lastFileNo = element
Next
Do Until tmpFName = ""
numbers = Regex.Split(tmpFName, "(?<alpha>[\w-[0-9]]+)(?<num>[\d]+)").Skip(1).Select(Function(s) Integer.Parse(s)).ToArray
For Each element In numbers
If element > 0 And element < 1000 And element > lastFileNo Then lastFileNo = element
Next
tmpFName = Dir()
Loop
tmpFileName = tmpFileName.Replace("%num%", lastFileNo)
End If
但它没有按预期工作。这是我在 Linq 和 Regex 中的第一个代码,我不习惯检测我的代码中的问题。有人可以给个提示吗?
谢谢