2012-04-08 53 views
0

我想要替換Google Chrome瀏覽器首選項文件中的一行,以更改當前主頁。如何替換文本文件中的一行而不管其當前值?

在我的電腦,我http://www.google.com其定義爲默認主頁,併爲此我需要更換(首選項文件中)以下行:

  "homepage": "http://www.MyWebsite.com/", 

  "homepage": "http://www.google.com/", 

與更換

所以爲了做到這一點,我使用的是這個樣子代碼:

  string PreferencesFile = File.ReadAllText(file); 
      PreferencesFile.Replace(FirstLine,SecondLine); 
      File.WriteAllText(file,PreferencesFile); 

但問題是,在每臺電腦中,都有一個不同的主頁。

如何更換下面

  "homepage": "http://www.what-ever-site-is-here.com/", 

的符合

  "homepage": "http://www.MyWebsite.com/", 

和值應該不會受到影響,以firstline和二線變量?

回答

2

聽起來像你應該讀取所​​有,替換任何行以"homepage":開頭,然後重寫。例如:

var lines = File.ReadAllLines(file); 
for (int i = 0; i < lines.Length; i++) 
{ 
    if (lines[i].StartsWith("\"homepage\": ")) 
    { 
     lines[i] = "\"homepage\": \"http://www.MyWebsite.com\"","; 
    } 
} 
File.WriteAllLines(file, lines); 
+0

如果在我們要替換的行之前有一些空格,那麼該怎麼辦? – 2012-04-08 19:53:42

+0

如何使用*運算符來匹配該行之前的所有可能的居民..? – 2012-04-08 20:02:44

+1

@ShikataGaNai:目前還不清楚你的意思 - 特別是你對*運算符的評論,這對字符串沒有任何意義。這聽起來像你可能只是想把'StartsWith'改成'Contains',但它不是很清楚...... – 2012-04-08 20:06:02

相關問題