VB.Net搜索与REGEX匹配的文件

时间:2019-03-21 15:33:42

标签: regex vb.net

您好,我有一个非常基本的问题,答案是我完全没有想到。我想在给定目录中搜​​索文件REGEX匹配项。我尝试了各种迭代,但是没有任何工作对我有用。我的REGEX是“ * _Ch [0-9] +。sgm”,它应该可以工作。我的文件名为“ Bld1_Ch1.sgm”并进行迭代。

我得到的错误是“ System.IO.DirectoryNotFoundException:'找不到路径的一部分'C:\ Test \ 06-GCS Bursting Script \ TO 33D1-8-2-2-2 RAMTS FI \ Bld1 '。'“

感谢您的耐心和帮助。 马克西姆

Private Sub btnImport_Click(sender As Object, e As EventArgs) Handles btnImport.Click
    Dim searchDir As String = txtSGMFile.Text & "\" & txtUnique.Text
    Dim searchFolder As String = "\" & txtUnique.Text
    Dim searchPattern = "*_Ch[0-9]+.sgm"

    Dim files = Directory.GetFiles(searchDir, searchPattern)
    For Each file In files
        MsgBox(file)
    Next
End Sub

1 个答案:

答案 0 :(得分:0)

使用此代码,我可以使它正常工作!谢谢大家的帮助。

    Dim files = Directory.GetFiles(path, "*.sgm")

    Dim rx = New Regex(".*_Ch\d\.sgm") ' or Dim rx = new Regex(".*_v[0-9]\.pdf")

    For Each file In files
        If rx.IsMatch(file) Then
            ' do something with the file
            MsgBox(file)
        End If
    Next file