在C#中使用脚本替换

时间:2014-11-21 03:35:58

标签: c# ssis c#-3.0

如何读取文本文件的某个部分并替换为另一行?

在文件中有一个部分:“Attend_10”想要用“Attend_10_ [Variable_Value]替换它。

如何使用SSIS中的脚本(C#)执行此操作?

1 个答案:

答案 0 :(得分:0)

我不确定您输入的内容或匹配要求,但您可以轻松使用Linq或for循环来执行此操作。下面是两个简单的示例,它们读取输入文件sample.txt并写入输出文件out.csv

使用Linq:

string periodValue = "201410";
File.WriteAllLines(
    "out.txt",
    File.ReadAllLines("sample.txt").
        Select(l => l.Replace("Attend_10", "Attend_10_" + periodValue))
    );

使用for循环:

string periodValue = "201410";
string[] lines = File.ReadAllLines("sample.txt");
for (int i = 0; i < lines.Length; i++)
{
    lines[i] = lines[i].Replace("Attend_10", "Attend_10_" + periodValue);
}
File.WriteAllLines("out.txt", lines);

输入:sample.txt:

<SomeTextHere>
<File Name>=Attend_10
<MoreTextHere>

输出:out.txt

<SomeTextHere>
<File Name>=Attend_10_201410
<MoreTextHere>

如果您的匹配要求更高级,则可以使用RegEx匹配每个字符串中的某些模式。