我有一些包含
的文本文件 <img width="100"
或
<img width="1400"
或....
如何用以下内容替换以上内容,因为图像宽度不是静态的?
<img width="200"
答案 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。
如果文件太大而无法读入内存,您可能希望一次处理一行文件。
写入临时文件有时也是个好主意,只有在确定写入成功后才删除原始文件。