我有一个包含大量信息的文本文件,我想要做的是搜索以_
开头的每一行,一旦我发现这行复制了下面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。
答案 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)
<强>文档强>: