首页 > 解决方案 > VB.Net 用正则表达式提取数据

问题描述

我是 VB.net 的新手,所以请耐心等待。我正在尝试从文本文件中提取所有 ICN 字符串,并创建一个新的文本文件,每个 ICN 在新行上。

我已经能够读取文本文件,但我不知道如何提取 REGEX 并将其拉入一个新的文本文件。

感谢您在这方面的指导。

到目前为止的代码:

Dim fileReader As System.IO.StreamReader
fileReader =
My.Computer.FileSystem.OpenTextFileReader("C:\\Test\\16 Move File out of folder\\GetICN.txt")
Dim stringReader As String
stringReader = fileReader.ReadToEnd()

正则表达式使用:

(ICN-\w.*-\d+-\w+-\d+-\d\d)

标签: regexvb.net

解决方案


Dim oldFileName = "C:\Test\16 Move File out of folder\GetICN.txt"
Dim newFileName = "C:\Test\16 Move File out of folder\GetICN2.txt"

Dim allText = System.IO.File.ReadAllText(oldFileName)
Dim matchs = System.Text.RegularExpressions.Regex.Matches(allText, "ICN-\w.*-\d+-\w+-\d+-\d\d")

Dim lines = matchs.Cast(Of System.Text.RegularExpressions.Match).Select(Function(m) m.Value)
System.IO.File.WriteAllLines(newFileName, lines)

推荐阅读