2013-12-13 71 views
1

我目前有一個大的文本文件,我試圖用#替換「」中的任何內容之間的未知文本。我試過使用:替換「」之間的未知文本與#

string text = File.ReadAllText(@"c:\Users\Zero\Documents\test.txt"); 
    string replacement = "#"; 


     int start = text.IndexOf('"') + 1; 
     text = text.Replace(text.Substring(start, text.LastIndexOf('"') - start), replacement); 


    File.WriteAllText(@"c:\Users\Zero\Documents\test.txt", text); 

目前它用一行替換文件中的所有文本。換句話說,它的轉向:

你好你怎麼樣 「測試」

這是一個測試 「123」 試驗

「測試」 「測試」

「#」

我需要它這樣做

你好你怎麼樣 「#」

這是一個測試 「#」 測試

「#」, 「#」

回答

10

A regular expression這樣會派上用場:

"[^"]*" 

例如:

text = Regex.Replace(text, "\"[^\"]*\"", "\"#\""); 
+3

最簡單的解決方案..期! –

+0

@CandyCane啊,是的,我錯過了。看到我更新的答案。 –

+0

哇,你真棒。感謝你們對我的幫助。我在循環中運行着我正在嘗試構建的東西,並且讓它變得非常容易。 – CandyCane