我的某个应用程序上有CSV输出。这将从Web表单数据生成一个文件。
在某些情况下,我在笔记字段中收到回车字符。这导致导入文件时出错。我想删掉这个角色。
当用户将信息从word文档粘贴到表单中或按住shift键并按Enter键时,似乎会出现此问题。
该字段为ntext,并在多行文本框控件中填充。
我一直试图用替换函数删除它,但是一些回车字符似乎正在通过。
SQL
REPLACE(Fieldname), CHAR(13) + CHAR(10), ' ') AS new_Fieldname
答案 0 :(得分:8)
最好分别替换字符,因为它们并不总是一起出现或按顺序出现:
REPLACE(REPLACE(Fieldname, CHAR(13),' '), CHAR(10), ' ') AS new_Fieldname
答案 1 :(得分:3)
请注意,您可能有回车符+换行符,或者只有回车符(取决于源平台,数据源等)。所以你可能需要处理这两种情况。
答案 2 :(得分:2)
您可以阅读带有回车符的CSV。回车应该在字符串表示的字段中(即用引号括起来)。这允许您在场中读取线条并将它们包含在内。如果您一次只读取一行CSV,则需要在行之间保持状态并根据需要附加数据。
在.Net中,读取CSV的最简单方法是使用Microsoft.VisualBasic.FileIO.textFileParser对象(是的,如果添加引用,可以在C#中使用它)。这甚至可以轻松读取我抛出的最糟糕的CSV。
答案 3 :(得分:0)
在Word中,有不同种类的换行符。也许你也应该搜索/替换其他的。
我不确定哪些是不同的可能性,至少段落标记是我所知道的。