我有一个控制台应用程序,它报告自上次运行该应用程序以来已更新的文件的报告,并将文件的完整路径输出到文本文件。我需要在文本文件中修改这些文件名,以运行AECOsim的(草稿包)本机批处理工具。
我需要打开字符串文本文件
F:\IOP\EW\02_Plant\99_CAD\autodesk\navisworks\01_Models\ST\0-EW-2110-ST-003.dgn
F:\IOP\EW\02_Plant\99_CAD\autodesk\navisworks\01_Models\ST\0-EW-2120-ST-001.dgn
F:\IOP\EW\02_Plant\99_CAD\autodesk\navisworks\01_Models\ST\0-EW-2120-ST-002.dgn
要这样输出。前5行需要在那儿,所以我假设我将从第6行开始将修改后的字符串写到现有文件中。
[SETTINGS=bpOptions]
logFile=_USTN_OUT:batchprocess.log
cmdFileName=F:\IOP\EW\Standards\data\Batchprocess\751EW-ST-IFC.txt
clearLog=1
initialModel=-18
[SOURCE=F:\IOP\EW\01_Models\ST\0-EW-2110-ST-003.dgn]
[MODEL=Design Model]
[SOURCE=F:\IOP\EW\01_Models\ST\0-EW-2120-ST-001.dgn]
[MODEL=Design Model]
[SOURCE=F:\IOP\EW\01_Models\ST\0-EW-2120-ST-002.dgn]
[MODEL=Design Model]
对于使用哪种api的任何建议,我们将不胜感激
答案 0 :(得分:0)
快速而肮脏的做法是遍历每行或每行的一个收集行,并进行字符串替换以替换或删除不需要的文本
类似
var sb = new System.Text.StringBuilder();
...
foreach( var file in fileLines ) {
sb.AppendLine($"[SOURCE={file.Replace("","")}]");
sb.AppendLine($"[MODEL=Design Model]");
}
return sb.ToString();
也就是说,如果您需要正则表达式替换,而您需要更动态的东西