波斯马BOSSMA Information Technology

C#使用Replace不能正常去除换行符的问题

发布时间:2010年12月7日 / 分类:DOTNET / 22,313 次浏览 / 评论

有一段字符串需要输出为javascript的一个变量的值,但是这段字符串中包含一个换行符,影响了javascript的正常解析,使用了多种替换换行符的方法均不能解决。

尝试解决:

1、Replace(System.Environment.NewLine, string.Empty)

无效

2、Replace(@”\n”, string.Empty)

无效

3、Replace((char)10, (char)0)

查看源代码发现只能看到一部分,某些浏览器只显示换行符前边的字符

解决方法:

先转换为char数组,然后遍历这个数组,重新连接字符串,过滤掉换行符。

char[] strArr =str.ToCharArray();
string newStr = "";
foreach (char cr in strArr)
{
if (cr == (char)10)
{
continue;
}
newStr += cr.ToString();
}

换行符被成功去掉,但是这样要进行很多的运算,期待更好的解决办法!

如果是在数据表中进行替换可以使用SQLServer的Replace:

update table set field=replace(field,char(10),'')
本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自波斯马,原文地址《C#使用Replace不能正常去除换行符的问题

关键字:

建议订阅本站,及时阅读最新文章!
【上一篇】 【下一篇】

发表评论