2012-04-01 9 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

5

これはどうですか?

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

このソリューションは要件を満たしていますか?

+0

私の答え@competent_techをフォーマットするためのThx、まだgettそれに慣れています:) –

+0

仲間が動作しません。 – TheGateKeeper

+0

愚かな私!置換する文字列を引用するのを忘れていましたが、これはうまくいくはずです yourString = yourString.replace(@ "\ r \ n"、Environment.NewLine); 私にそれを指摘してくれてありがとう:) –

1

TextBoxのMultilineプロパティがtrueに設定されていますか?

1

.Replace関数を呼び出すと、文字列に@が追加されます。そうすると、@"\\""\\\\"に変換され、@"\""\\"に変換されます。

.Replace("\\", "\")を実行してください。正常に動作するはずです。

+0

'\'がエスケープ文字としてカウントを取得するため、これは機能しません。 – TheGateKeeper

2

コール.Replace(@"\r", "\r").Replace(@"\n", "\n")

か、単に.Replace(@"\r\n", "\r\n")

関連する問題