2012-11-06 90 views
0

作爲我目前正在使用的SSIS包的一部分,我需要替換文本文件行中的where子句。如何搜索和替換文本文件中的整行?

我在想我會使用一個腳本任務與VB 2010腳本來實現這一點,我一直在搜索,並已成功地找到了很多方法來搜索和替換字符串,但我需要搜索一個字符串然後替換包含它的整個行。

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

Select= * 

where= SDUPMJ>112310 

我想搜索的只是「where=」(因爲實際的條款將每次不同),並替換「where= SDUPMJ>112350整條生產線'

回答

1

如果它自己存在於一行中,請使用流讀取器。

這裏是我是如何做到的一個樣本:

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 

希望這有助於

+0

完美工作,感謝 – motoxrdr21

相關問題