解析文本文件在另一行之后

时间:2014-09-05 16:53:16

标签: vb.net

我有这个文本文件,我需要解析并将解析后的数据放入数据库

Name   Qty1          Qty2      Name   Qty1   Qty2
 ABC    1              2       
 BCD    2              3
 EFG    7              9         PQR    56    97
 DEF    3              18        RET    988   11

我有一张桌子,我需要把上面的数据放在

表结构是这样的

姓名,Qty1,Qty2,Col

所以如果我从左侧解析那么我可以将ABC,1,2,L放在表中,如果从右侧解析那么我可以将PQR,56,97,R放在同一个表中。

我的问题是如何区分左列和右列。一旦我开始阅读,我就可以阅读ABC,1,2然后我不知道右栏中是否有值,如果我继续阅读我的VB.net代码,那么我将开始阅读BCD,2 ,3,此时我不知道BCD是属于右列还是左列,所以我不确定是否将L或R放在数据库中。我试图使用substring和Indexof在.net中解析此文件。该文件是从pdf文档生成的。下面是阅读pdf文档的代码:

Public ReadOnly Property getParsedFile() As String
    Get
        Dim document As New PDFDocument(filePath)

        Dim parsedFile As StringBuilder = New StringBuilder()
        For i As Integer = 0 To document.Pages.Count - 1
            parsedFile.Append(document.Pages(i).GetText())
        Next

        Return parsedFile.ToString()

    End Get

End Property

任何帮助将不胜感激。

以下是答案

 Public Function ExtractTextFromPdf(path As String) As String
    Dim its As iTextSharp.text.pdf.parser.ITextExtractionStrategy = New iTextSharp.text.pdf.parser.LocationTextExtractionStrategy()

    Using reader As New PdfReader(path)
        Dim str As New StringBuilder()

        For i As Integer = 1 To reader.NumberOfPages
            Dim thePage As String = PdfTextExtractor.GetTextFromPage(reader, i, its)
            Dim theLines As String() = thePage.Split(ControlChars.Lf)
            For Each theLine As String In theLines
                str.AppendLine(theLine)










            Next
        Next
        saveTextFileOnComputer(str.ToString())
        Return str.ToString()
    End Using
End Function

0 个答案:

没有答案