NewLine替换c#?

时间:2013-03-05 10:04:13

标签: c# visual-studio windows-phone-7 windows-phone-8 windows-phone

我有一个Windows手机应用程序。在应用程序中,我有一个文本框,其acceptreturn属性设置为true。

我想要做的是从文本框创建一个字符串,并用特定字符替换新行,例如"NL"

我尝试过以下但没有一个有效。

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

4 个答案:

答案 0 :(得分:7)

我不熟悉windows phone(或silverlight),但尝试与\r分开:

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

Why does a Silverlight TextBox use \r for a newline instead of Environment.Newline (\r\n)?

答案 1 :(得分:2)

考虑更换不同类型的换行符以处理所有可能性

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

答案 2 :(得分:1)

使用此代码

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

这是为了与每个操作系统兼容。

答案 3 :(得分:0)

具有类似主题的question有一个非常优雅的answer,您可能会认为有用的是:

using System.Text.RegularExpressions;

myTextBox.Text = Regex.Replace(myTextBox.Text, @"\r(?!\n)|(?<!\r)\n", "NL");