0

現在、100 万文字のファイルがあります。ファイルのサイズは 1 MB です。まだ機能しているが非常に遅いこの古い関数でデータを解析しようとしています。

start0end
start1end
start2end
start3end
start4end
start5end
start6end

このコードでは、データ全体を処理するのに約 5 分かかります。任意のポインタや提案をいただければ幸いです。

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim sFinal = ""
    Dim strData = textbox.Text
    Dim strFirst = "start"
    Dim strSec = "end"

    Dim strID As String, Pos1 As Long, Pos2 As Long, strCur As String = ""

    Do While InStr(strData, strFirst) > 0
        Pos1 = InStr(strData, strFirst)
        strID = Mid(strData, Pos1 + Len(strFirst))
        Pos2 = InStr(strID, strSec)

        If Pos2 > 0 Then
            strID = Microsoft.VisualBasic.Left(strID, Pos2 - 1)
        End If

        If strID <> strCur Then
            strCur = strID

            sFinal += strID & ","
        End If

        strData = Mid(strData, Pos1 + Len(strFirst) + 3 + Len(strID))
    Loop
End Sub
4

1 に答える 1