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