查找并替换算法

时间:2010-09-09 20:27:59

标签: .net vb.net replace

我有一些包含

的文本文件

<img width="100"<img width="1400"或....

如何用以下内容替换以上内容,因为图像宽度不是静态的?

<img width="200"

1 个答案:

答案 0 :(得分:1)

对于基于正则表达式的解决方案,您可以使用:

string path = "input.html";
string s = File.ReadAllText(path);
s = Regex.Replace(s, @"<img width=""\d+""", @"<img width=""200""");
File.WriteAllText(path, s);

如果您的文件来自您控制的格式的受信任来源,它将起作用。如果没有,这是HTML,您可能需要查看HTML解析器,例如HTML Agility Pack

如果文件太大而无法读入内存,您可能希望一次处理一行文件。

写入临时文件有时也是个好主意,只有在确定写入成功后才删除原始文件。