6

我有一个 Windows Phone 应用程序。在应用程序中,我有一个文本框,其接受返回属性设置为 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 文本框使用 \r 代替 Environment.Newline (\r\n)?

于 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 回答