6

私はWindows Phoneアプリケーションを持っています。アプリケーションには、acceptreturn プロパティが true に設定されたテキスト ボックスがあります。

私がしたいのは、テキストボックスから文字列を作成し、新しい行を特定の文字に置き換えることです。"NL"

私は次のことを試しましたが、どれもうまくいきませんでした。

string myString = myTextBox.Text.Replace(Environment.NewLine,"NL");
string myString = myTextBox.Text.Replace("\n","NL");
4

4 に答える 4

7

私は Windows phone (または Silverlight) に慣れていませんが、\r代わりに分割してみてください:

string myString = myTextBox.Text.Replace("\r","NL");

Silverlight TextBox が Environment.Newline (\r\n) ではなく \r を改行に使用するのはなぜですか?

于 2013-03-05T10:07:52.893 に答える
2

すべての可能性を処理するために、さまざまな種類の改行を置き換えることを検討してください

string myString myTextBox.Replace("\r\n", "NL").Replace("\n", "NL").Replace("\r", "NL");
于 2013-03-05T10:08:20.587 に答える
1

このコードを使用

var myString = myTextBox.Text.Replace("\r","NL");

これは、すべてのオペレーティング システムとの互換性のためです。

于 2013-03-05T10:11:20.960 に答える
0

同様のトピックの質問には、使用するのが面白いと思われる非常にエレガントな回答がありました。

using System.Text.RegularExpressions;

myTextBox.Text = Regex.Replace(myTextBox.Text, @"\r(?!\n)|(?<!\r)\n", "NL");
于 2013-03-05T10:44:48.110 に答える