如何在文本文件中搜索和替换整行?

时间:2012-11-06 14:14:58

标签: vb.net ssis

作为我目前正在处理的SSIS包的一部分,我需要在文本文件的行中替换where子句。

我以为我会使用带有VB 2010脚本的脚本任务来完成此任务,我一直在搜索并成功找到了很多搜索和替换字符串的方法,但我需要搜索然后替换包含它的整行。

例如,文本文件可以包含:

Select= *

where= SDUPMJ>112310

我想只搜索“where=”(因为实际条款每次都不同),并用“where= SDUPMJ>112350”替换整行

1 个答案:

答案 0 :(得分:1)

如果它本身存在于一行中,请使用streamreader。

以下是我如何做到这一点的示例:

Imports System.IO
Imports System.Text

Public Class Form1

Dim MyPath As String = "Path To Your Text File"

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim Rdr As New StreamReader(MyPath)
    Dim ln As String
    Dim NewFile As New StringBuilder

    ln = Rdr.ReadLine

    Do Until ln Is Nothing

        If ln.StartsWith("where=") Then ln = "New Where Clause"
        NewFile.AppendLine(ln)
        ln = Rdr.ReadLine
    Loop

    Rdr.Close()

    File.WriteAllText(MyPath, NewFile.ToString)

End Sub
End Class

希望这有帮助