0

我有一个包含很多信息行的文本文件,我想要做的是搜索每一行,_一旦我找到这一行,复制下面 6 行的行并将其添加到下面的第一行和删除其他行信息。

例如:

_
蓝色的
X
X
X
X
10.5
X
X
X
_
橙子
X
X
X
X
15.1
X
X
X
_

我想显示为

蓝色 10.5
橙色 15.1

我目前正在使用 VS 2010。

4

1 回答 1

2

用于IO.StreamReader读取文件的行:

Dim sr As New StreamReader(sFilePath)

然后循环这些行并执行您要求的操作:

Dim sLine, sResult As String
Dim iCont As Integer = -1

sResult = ""
sLine = sr.ReadLine()

While Not sr.EndOfStream
    If sLine.StartsWith("_"c) Then iCont = 0

    Select Case iCont
        Case 1
            sResult &= sLine & " "
        Case 6
            sResult &= sLine & Environment.NewLine()
    End Select

    If iCont >= 0 Then iCont += 1
    sLine = sr.ReadLine()
End While

sr.Close()
MessageBox.Show(sResult)

编辑:
如果要将其写入文件,则:

Dim sw As New StreamWriter(sNewFilePath)

sw.Write(sResult)
sw.Close()

如果您不需要其他任何东西,您也可以这样做:

IO.File.WriteAllText(sNewFilePath, sResult)


文档

于 2013-02-27T11:04:30.700 回答