2013-02-27 117 views
0

我有一个文本文件,其中有很多的信息行,我试图做的是搜索每一行,以_开头,一旦我找到这条线复制下面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

显示

回答

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) 


文档

+0

谢谢,我试了一下你的建议,并在消息框中显示结果,我需要有一个StreamWriter保存它到一个新的文本文件? – JackSparrow 2013-02-27 11:19:25

+0

声明一个StreamWriter并写入它。我编辑我的答案。 – SysDragon 2013-02-27 11:23:12

+0

非常感谢:)每天学习新东西 – JackSparrow 2013-02-27 11:30:45