我必須用1個雙引號替換2個雙引號。C#forwardonly string.replace
但我希望它只是向前,所以如果有4個雙引號,我想要2個雙引號。
string.replace()只會返回1個雙引號,因爲它從第0個索引開始重新搜索2個雙引號。
有什麼建議嗎?
我必須用1個雙引號替換2個雙引號。C#forwardonly string.replace
但我希望它只是向前,所以如果有4個雙引號,我想要2個雙引號。
string.replace()只會返回1個雙引號,因爲它從第0個索引開始重新搜索2個雙引號。
有什麼建議嗎?
我錯過了觀點嗎?我問,因爲簡單的
string s = "\"\"Test.\"\"";
string t = s.Replace("\"\"", "\"");
Console.WriteLine("Before: " + s);
Console.WriteLine("After: " + t);
只輸出
Before: ""Test.""
After: "Test."
和
string u = "\"\"\"\"";
string v = w.Replace("\"\"", "\"");
Console.WriteLine("Before: " + u);
Console.WriteLine("After: " + v);
只是我的控制檯上輸出
Before: """"
After: ""
。請告訴我們你已經擁有了什麼,它正在生產的產出以及你想要的產出,因爲當我讀到你的問題時,上面的內容正在滿足你的要求。
你的說法似乎並不正確,四雙引號替換兩個雙引號有一個結果兩個雙引號的字符串的字符串:
Console.WriteLine("\"\"\"\"".Replace("\"\"", "\""));
產生
""
其實,這是沒有意義的性能明智的,當第一場比賽是發現和更換,我們知道,沒有比賽是在之前的子字符串Replace
重新啓動搜索索引爲0的比賽。
Doh。 @Jason說了什麼! :) – 2011-01-07 21:14:36
謝謝傑森。我想我並沒有直視。除了替換(),我正在使用Trim(),這是在搞亂我的最終輸出。你的回答幫助我意識到了這個錯誤。再次感謝! – NiTiN 2011-01-07 22:13:49