2012-04-01 63 views
1

我正在從我的數據庫中載入一個string,其中包含換行符(\r\n)。但是,這不是作爲新行提供,而是作爲\r\n換行符在文本框中顯示不正確

如果我直接鍵入它而不是從字符串加載它,它工作得很好,但我需要能夠從字符串加載它。

任何想法?

編輯:經仔細檢查,它看起來像串被返回:

Changed test7\\r\\nChanged test8\\r\\nChanged test9Changed test7 

從數據庫。

我試着在其上運行一個.Replace(@"\\", @"\"),但這根本沒有任何效果。有任何想法嗎?

回答

1

,因爲它認爲反斜槓作爲一種逃避,但奇怪的是這不會工作.Replace("\\", "\"),這不工作時,它應該:.Replace(@"\\", @"\")

的我得到的工作是這樣的:

.Replace("\\r\\n", "\r\n"); 
+0

我仍然不明白它是如何工作的,但它確實如此。不應該把'\\ r \\ n'翻譯成'\ r \ n'? – TheGateKeeper 2012-04-02 10:13:53

5

這是怎麼回事?

string yourString="something\r\n..somethingMore"; 
yourString=yourString.replace("\r\n",Environment.NewLine); 
yourTextBox.Text=yourString; 

此解決方案是否符合您的要求?

+0

Thx for formatting my answer @competent_tech,still gett ing習慣了它:) – 2012-04-01 22:54:22

+0

不工作隊友。 – TheGateKeeper 2012-04-02 10:14:13

+0

傻我!我忘了引用要替換的字符串,這應該工作 yourString = yourString.replace(@「\ r \ n」,Environment.NewLine); 感謝您指出給我的朋友:) – 2012-04-02 20:19:29

1

TextBox上的Multiline屬性是否設置爲true?

1

當你打電話給你的.Replace函數時,你在附加字符串@。通過這樣做,您的@"\\"轉換爲"\\\\",您的@"\"轉換爲"\\"

嘗試運行.Replace("\\", "\"),它應該工作。

+0

這不起作用,因爲'\'得到反應字符作爲轉義字符。 – TheGateKeeper 2012-04-02 10:12:29

2

呼叫.Replace(@"\r", "\r").Replace(@"\n", "\n")

或只是.Replace(@"\r\n", "\r\n")