苏飞论坛
标题: C#中最常见几种换行符使用方法 [打印本页]
作者: yangying 时间: 2013-5-4 10:06
标题: C#中最常见几种换行符使用方法
winform 中 TextBox 的 Multiline属性设置为 true ,敲入几个字符和几个回车,然后保存到数据库,再从数据库中读取出来赋值给TextBox,换行符丢失。将读取出的字符串中的"\n"替换为"\r\n"解决问题。
1、TextBox 中换行符为: "\r\n"。
2、Windows 中的换行符(即:Environment.NewLine) 为 "\r\n"
3、MessageBox.Show() 的换行符为 "\n"
4、Console 的换行符为 "\n"
从数据库中读取出来后,换行符不知为啥变成 "\n","\r" 莫名的丢失了。为正确显示格式要将 "\n" 替换为 "\r\n"
换行符还因平台而已,Unix/Linux 平台换行符是 "\n"。
为保持平台的通用性,最好用 Environment.NewLine。
作者: yangying 时间: 2013-5-4 10:07
这里将讨论C#换行符如何过滤的方法,包括去掉所有换行符和喝掉末尾的换行符的内容,希望能对大家有所帮助。
对C#换行符进行过滤,有的时候是为了将代码显示得更加完美。这里有个疑问就是\n是换行符\r是回车符,为什么两个放到一块就可以,单放却不行。希望能借此进行讨论。
先说下把字符串里所有的的C#换行符都去掉就用下面的正则:
textStr = Regex.Replace(textStr, @"[\n\r]", "");
接下来就是去掉末尾的C#换行符
textStr = textStr.TrimEnd((char[])"\n\r".ToCharArray());
后来我把"\n\r"换成"\r\r"和"\n\n",但都起不到作用。我看MSDN的解释,\n是换行符\r是回车符,心里还不理解为什么两个放到一块就可以,单放却不行。后来据说"这是文本文件规定的,windows底下会用\r\n代表换行,而unix下可能只有\n",这样才明白一些。
欢迎光临 苏飞论坛 (http://www.sufeinet.com/) |
Powered by Discuz! X3.4 |