清理一根绳子

时间:2011-02-07 09:53:27

标签: .net asp.net vb.net .net-3.5 string

我有以下字符串,我需要进入一行进行数据库存储和检索:

{"id":8,"heading":"heading goes here","content":"<p>
    content goes here</p>
"}

我使用以下命令将其放到一行:

Dim strContent As String = Request.Form("strContent").Replace(vbCr, "").Replace(vbLf, "")

这将上面的字符串放在一行上,如下所示:

{"id":8,"heading":"heading goes here","content":"<p>    content goes here</p>"}

但是,在字符串中似乎有一个“制表符”

我如何摆脱它?

2 个答案:

答案 0 :(得分:2)

Request.Form("strContent").Replace(vbCr, "").Replace(vbLf, "").Replace(vbTab, "")

事实上,我想你可以使用vbCrlf而不是两个替换,即

Request.Form("strContent").Replace(vbCrlf, "").Replace(vbTab, "")

虽然我会说我认为以这种方式删除字符然后希望恢复原始HTML可能会遇到问题。但也许不是。取决于您的具体问题。

如果您想要保留这些控制字符并将它们传递给客户端,您可以尝试一下

的内容。
Request.Form("strContent").Replace(vbCrlf, "%0d%0a").Replace(vbTab, "%09")

这将使chars对于使用JSON进行传输是安全的。

答案 1 :(得分:1)

您可以像使用vbCr一样使用vbTab - 还有一个vbCrLf

Request.Form("strContent").Replace(vbCrLf, "").Replace(vbTab, "")

但是,数据库应该能够存储包含行和标签的文本 - 除非有特定要求清理字符串,否则不应该。

顺便说一下 - 这个字符串不是 HTML。