C#中的String.Replace(char,char)方法

sar*_*ake 71 c# string

如何更换\n空的空间?

如果我这样做,我会得到一个空的文字错误:

string temp = mystring.Replace('\n', '');
Run Code Online (Sandbox Code Playgroud)

Sam*_*uel 122

String.Replace('\n', '')不起作用,因为''它不是有效的字符文字.

如果使用String.Replace(string,string)覆盖,它应该可以工作.

string temp = mystring.Replace("\n", "");
Run Code Online (Sandbox Code Playgroud)

  • 好问题(或点?)......不要那么字面化,这就是原因.;)`String.Empty` vs.`""`并不重要(或值得辩论)但是`someValue == MyStaticValues.SomeMeaning`vs.someValue =="SomeMeaning"`很重要且值得辩论.魔术字符串难以维护且可读性较差,因此请使用常量和静态值来优雅地表达您的意思.EG Colors.White vs #FFFFFF. (3认同)

Guf*_*ffa 16

将"\n"替换为""并不能提供您想要的结果,这意味着您应该替换的内容实际上不是"\n",而是其他一些字符组合.

一种可能性是你应该替换的是"\ r \n"字符组合,它是Windows系统中的换行代码.如果仅替换"\n"(换行符)字符,它将保留"\ r"(回车)字符,这仍然可以解释为换行符,具体取决于您显示字符串的方式.

如果字符串的源是特定于系统的,则应使用该特定字符串,否则应使用Environment.NewLine获取当前系统的换行符.

string temp = mystring.Replace("\r\n", string.Empty);
Run Code Online (Sandbox Code Playgroud)

要么:

string temp = mystring.Replace(Environment.NewLine, string.Empty);
Run Code Online (Sandbox Code Playgroud)