[英]Parse Text File after a specific word VB.NET
我有一個模塊應用程序,可以讀取文本文件並查找其中包含特定單詞的行。
我的輸入看起來像這樣
Dealer Number: 90402001
Dealer Name: SAN TAN FORD
Contract Number: 7466564
OverRide Class:
Contract Code: 3417620
Portal Claim#: 148905
Dealer Number: 90402001
Dealer Name: SAN TAN FORD
Contract Number: 7679454
OverRide Class:
Contract Code: 3762406
Portal Claim#: 149325
Dealer Number: 90416003
Dealer Name: CAR TOWN KIA
Contract Number: DG209507
OverRide Class:
Contract Code: 3110169
Portal Claim#: 134550
Dealer Number: 90430005
Dealer Name: RICH FORD
Contract Number: 7380708
OverRide Class:
Contract Code: 3130744
Portal Claim#: 148537
我的輸出如下
Dealer Name: SAN TAN FORD Contract Number: 7466564
Dealer Name: SAN TAN FORD Contract Number: 7679454
Dealer Name: RICH FORD Contract Number: 7380708
我現在要做的就是抓取“數字:”之后的文字
這是我到目前為止所擁有的
Imports System.IO
Module Module1
Sub Main()
Dim str
Dim fileName = "C:\Users\username\Desktop\textfile.txt"
Dim lines() = File.ReadAllLines(fileName)
For i = 0 To lines.Length - 1
If lines(i).Contains("SAN TAN FORD") Then
Str = String.Format("{0}{1}", lines(i), lines(i + 1))
Console.WriteLine(str)
ElseIf lines(i).Contains("RICH FORD") Then
Str = String.Format("{0}{1}", lines(i), lines(i + 1))
Console.WriteLine(str)
End If
Next
End Sub
End Module
我在想像是排線之后的東西? 所以這就像
text = lines(i).after("Number:")
Console.writeline(text)
那會給我
7466564
7679454
7380708
有想法嗎?
有幾種不同的方法可以執行這樣的操作。 您可以使用IndexOf
和SubString
查找並提取所需的字符串部分。 您可以使用Regex
類來查找和讀取匹配值,或者,最簡單地,您可以僅使用Split
方法。 如果您將字符串"Number: "
視為其他兩個字符串之間的分隔符,則可以使用“ Split
獲取該分隔符前后的字符串。 因此,例如:
Dim input As String = "Contract Number: 7380708"
Dim parts() As String = input.Split("Number: ")
Console.WriteLine(parts(0)) ' Outputs "Contract "
Console.WriteLine(parts(1)) ' Outputs "7380708"
沒有“之后”功能,但是您可以使用split或indexof做類似的事情
Dim input, output As String
input = "Contract Number: 7466564"
' With trim
output = input.Split(":")(1).Trim()
Console.WriteLine(output)
' With index of
output = input.Substring(input.IndexOf("Contract Number:") + "Contract Number:".Length).Trim()
Console.WriteLine(output)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.