作为我目前正在处理的SSIS包的一部分,我需要在文本文件的行中替换where子句。
我以为我会使用带有VB 2010
脚本的脚本任务来完成此任务,我一直在搜索并成功找到了很多搜索和替换字符串的方法,但我需要搜索然后替换包含它的整行。
例如,文本文件可以包含:
Select= *
where= SDUPMJ>112310
我想只搜索“where=
”(因为实际条款每次都不同),并用“where= SDUPMJ>112350
”替换整行
答案 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
希望这有帮助