我想要做的是打開文件並搜索「searchText」。我想用一個新的鏈接替換文件中的所有實例,實際上它只是帶有achor鏈接的文件名,所以不是打開javascript,而是轉到頁面中的另一個點。嘗試替換HTML文檔中的字符串並添加額外字符
到目前爲止,我有什麼是這樣的:
private void writeNotes(){
StreamReader reader = new StreamReader(openFileDialog1.FileName);
string content = reader.ReadToEnd();
reader.Close();
string fileName = openFileDialog1.SafeFileName;
string searchText = "<a class=\"x-fn\" href=\"javascript:void(0);\">";
string replaceText = "<a class=\"x-fn\" href=\"" + fileName + "#fn" + "\">";
content = Regex.Replace(content, searchText, replaceText);
StreamWriter writer = new StreamWriter(openFileDialog1.FileName);
writer.Write(content);
writer.Close();
然而,編寫和關閉後...我打開了該文件,並沒有作出任何的改變。除此之外,我想要做的是在每個替換實例的「#fn」之後添加一個數字。所以,基本上,我每次替換爲其他的JavaScript鏈接,我希望它是:
<a class="x-fn" href="fileName#fn1">
,然後當我更換的JavaScript的第二個實例,它讀取
<a class="x-fn" href="fileName#fn2">
等在...
我想我將不得不計算JavaScript出現的次數的實例,替換它,並使用for循環遍歷所有新鏈接並添加#fn(n)at結束?
你知道你可以使用HtmlAgilityPack的HTML編輯爲好,對不對? – 2012-07-09 18:20:43
你爲什麼使用正則表達式?一個簡單的字符串替換會做..特別是因爲你的搜索字符串不是正則表達式! – banging 2012-07-09 18:28:01
使用調試器。也許你的正則表達式找不到匹配。我還建議使用字符串替換作爲敲打說。不必擔心這種特殊的正則表達符號。 – 2012-07-09 18:31:20