更新时间:2023-12-05 12:54:40
我不确定您的输入内容或匹配要求,但是您可以轻松地使用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;
字符串[] l ines = 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,行);
输入:sample.txt:
< SomeTextHere>
<文件名> = Attend_10
< MoreTextHere>
输出:out.txt
< SomeTextHere>
<文件名> = Attend_10_201410
< MoreTextHere>
如果您的匹配要求更高级,则可以使用RegEx来匹配每个字符串中的某些模式。 / p>
How can i read a certain portion of a text file and replace with another line?
Like in the file there is a part :"Attend_10" want to replace it with "Attend_10_[Variable_Value].
How can i Do this using script (C#) in SSIS?
I'm not sure exactly what your inputs are, or requirements for matching, but you could easily use Linq or a for
loop to perform this. Below are two simple examples that read an input file sample.txt
and write to an output file out.csv
.
Using Linq:
string periodValue = "201410";
File.WriteAllLines(
"out.txt",
File.ReadAllLines("sample.txt").
Select(l => l.Replace("Attend_10", "Attend_10_" + periodValue))
);
Using a for
loop:
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);
Input: sample.txt:
<SomeTextHere>
<File Name>=Attend_10
<MoreTextHere>
Output: out.txt
<SomeTextHere>
<File Name>=Attend_10_201410
<MoreTextHere>
If your matching requirements are more advanced, you can use RegEx to match certain patterns in each string.