2017-05-24 24 views
1

おはようございます、ファイル名からクライアント番号を抽出する方法

私はこの(VB.Net)に苦労しています。

私はディレクトリに約800のファイルがあります。私はファイル名を取得し、クライアント番号を抽出したいと思います。

ファイルがディレクトリでどのように見えるかの例は以下の通りです:

Client 11111 Proposal 47241 inputted.msg Client 22222 Proposal 88754 inputted.msg Interest Portfolio 5514720 inputted for Client 33333.msg Investment Proposal 0987654 inputted for Client 34343.msg Investment Proposal 1234567 inputted for Client 33333.msg Investment Proposal 7456781 inputted for Client 66666.msg

コードが実行されると、それは以下の結果を得る必要があります。以下は

11111 22222 33333 34343 33333 66666

がありますコードを使用しています:

Dim path = txtWatchPath.Text 
    Dim files = Directory.GetFiles(path, "*.msg") 

    Dim expr = New Regex("\bClient\b\s\d{5}") 

    For Each file In files 
     If expr.IsMatch(file) Then 
      lsbxLog.Items.Add(file) 
     End If 
    Next 

ただし、このコードの出力は以下の表示されます。

C:\Temp\Client 11111 Proposal 47241 inputted.msg 
C:\Temp\Client 22222 Proposal 88754 inputted.msg 
C:\Temp\Interest Portfolio 5514720 inputted for Client 33333.msg 
C:\Temp\Investment Proposal 0987654 inputted for Client 34343.msg 
C:\Temp\Investment Proposal 1234567 inputted for Client 33333.msg 
C:\Temp\Investment Proposal 7456781 inputted for Client 66666.msg 

は、誰かが私を助けてくださいすることができ、私は、ファイル名からクライアント番号が必要です。

種類よろしく、 クライアントを想定し

答えて

0

は、常に長さが5である:

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 

    Dim filenames As New List(Of String) 
    filenames.Add("Client 11111 Proposal 47241 inputted.msg") 
    filenames.Add("Client 22222 Proposal 88754 inputted.msg") 
    filenames.Add("Interest Portfolio 5514720 inputted for Client 33333.msg") 
    filenames.Add("Investment Proposal 0987654 inputted for Client 34343.msg") 



    For Each fileName In filenames 
     MessageBox.Show(GetClientName(fileName)) 
    Next fileName 


End Sub 

Private Function GetClientName(fileName As String) As String 
    Dim leadingString = "Client " 
    Dim startPos = fileName.IndexOf(leadingString) + leadingString.Length 
    Dim parsedString = fileName.Substring(startPos, 5) 

    Return parsedString 


End Function 
+0

はどうもありがとうございました。 – Andrea

関連する問題