2010-09-09 78 views
1

我有包含查找和替換算法

<img width="100"<img width="1400"或一些文本文件....

我怎麼會用以下內容替換所有上述,由於圖像寬度也不是一成不變的?

<img width="200" 
+0

文本文件或HTML文件?如果它們僅僅是文本文件,它們是否被統一格式化,如果是這樣的話? – Oded 2010-09-09 20:30:30

+0

Unicode文本文件 – OrElse 2010-09-09 20:32:07

回答

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

如果文件太大而無法讀入內存,則可能需要一次處理一行文件。

一旦確定寫入成功,寫入臨時文件並僅刪除原始文件有時也是一個好主意。

+0

提及HTML Agility Pack – 2010-09-09 21:07:36