编辑文本文件?

时间:2013-02-27 10:47:21

标签: vb.net visual-studio-2010

我有一个包含大量信息的文本文件,我想要做的是搜索以_开头的每一行,一旦我发现这行复制了下面6行的行,将其添加到下面的第1行并删除其他信息行。

例如:

_
Blue 
X
X
X
X
10.5
X
X
X
_
Orange 
X
X
X
X
15.1
X
X
X
_

我想显示为

Blue 10.5
Orange 15.1

我目前正在使用VS 2010。

1 个答案:

答案 0 :(得分: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)


<强>文档