2016-02-03 26 views
1

我有這樣的字符串中的SQL從表中寫着: r n的C#不更換

Yderligere tillidshverv: 
Medlem af bestyrelsen for Dansk XXSW, region Århus. 
Andre aktiviteter: 
Opfinder af 123 trapper.  

我想要做的是,只是一個單一\ n替換\ r \ n的出現次數。但它不起作用。問題是記事本++仍然顯示CRLF。它應該只顯示LF。我錯過了什麼?這裏是我的代碼:

string x = returnValue.Replace("\r\n", "\n"); 
+1

嘗試'string x = returnValue.Replace(「\\ r \\ n」,「\\ n」);' –

+1

或者'string x = returnValue.Replace(@「\ r \ n」,@「\ n');' –

+0

如果'\ r \ n'是一個文字字符串,那麼上面的建議將會起作用(如果你打算用文字'\ n'替換)。 –

回答

3

當您粘貼從Windows剪貼板到記事本++字符串,換行符得到轉換爲當前文檔設置行結束樣式(見屏幕的底部)。

enter image description here

如果你右擊並選擇UNIX,你將能夠字符串粘貼只\n這也會將所有行結束符更改爲LF

如果你不想改變所有行尾在文檔中LF,您可以使用編輯>選擇性粘貼 - >

粘貼二進制內容然而,從C#,你可以只寫變量的內容到一個文本文件:

var s = "I know\r\nit should\r\n"; 
var b = s.Replace("\r\n", "\n"); 
using (var sw = new StreamWriter(@"PATH_TO_FILE", false, Encoding.UTF8)) 
{ 
    sw.Write(b); 
} 

,享受\n換行符。

-1

使用正則表達式類將工作。我用linqpad快速測試它具有轉儲()擴展方法

Regex.Replace("test\r\ntest","\r\n","\n").Select(x => x).Dump(); 

更新代碼:定期更換同樣適用BTW。你說它不?

"test\r\ntest".Replace("\r\n","\n").Select(x => x).Dump(); 
+0

此答案與OP問題無關,即:從文本視圖窗口複製數據並粘貼到Notepad ++中。 –

相關問題