我正在尝试在 VB.net 中编写一个程序,它将一些值输出到文本文件中。请耐心等待我,因为我对 VB.net 很陌生。
到目前为止我所拥有的如下:
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Dim str As String
For Each File As String In System.IO.Directory.GetFiles(TextBox1.Text)
str = str & File & "|" & System.IO.Path.GetFileNameWithoutExtension(File).Split("-")(0).Trim & "|" & System.IO.Path.GetFileNameWithoutExtension(File).Split("-")(0).Trim & "||" & DateTimePicker1.Text & "|" & Environment.NewLine
Next
System.IO.File.WriteAllText("C:\output\output.txt", str)
End Sub
单击 button3 时输出文件(output.txt)的结果如下:
C:\DirectoryTest\Clients\2356851-Kathy Winkler - Family Investments.pdf|2356851|2356851||04/10/2013|
C:\DirectoryTest\Clients\58736 -Katrina Armon - Sandlewood Homes Co.pdf|58736|58736||04/10/2013|
C:\DirectoryTest\Clients\Karen Cooper - 001548 - Famtime.pdf|Karen Cooper|Karen Cooper||04/10/2013|
到目前为止,我的代码完全符合我的要求,唯一的事情是我想让代码更智能,但不知道如何做。更聪明的是有没有办法让下面的代码只提取文件名中看到的 5 到 10 位数的帐号,如果文件名中不存在帐号以显示消息框?
System.IO.Path.GetFileNameWithoutExtension(File).Split("-")(0).Trim & "|" & System.IO.Path.GetFileNameWithoutExtension(File).Split("-")(0).Trim
从输出的最后一行可以看出……</p>
C:\DirectoryTest\Clients\Karen Cooper - 001548 - Famtime.pdf|Karen Cooper|Karen Cooper||04/10/2013|
…客户名称“Karen Cooper”显示在应显示帐号的两个区域中。这就是为什么我需要让这段代码更智能,让它在文件名中搜索一个 5 到 10 位数字的帐号,以便在文件名之后显示它,如其他 2 个示例所示。
请让我知道这是否可能。如果您有任何问题,请告诉我。