CSV символ возврата каретки - PullRequest
2 голосов
/ 30 марта 2009

У меня есть выход CSV на одном из моих приложений. Создает файл из данных веб-формы.

В некоторых случаях в поле для заметок появляется символ возврата каретки. Это вызывает ошибку при импорте файла. Я хотел бы удалить этого персонажа.

Эта проблема возникает, когда пользователи вставляют информацию в форму из текстовых документов или удерживая клавишу Shift и нажимая клавишу ввода.

Поле имеет тип ntext и заполняется в многострочном текстовом поле.

Я пытался удалить это с помощью функции замены, но некоторые символы возврата каретки, кажется, проходят.

SQL

REPLACE(Fieldname), CHAR(13) + CHAR(10), ' ') AS new_Fieldname

Ответы [ 4 ]

8 голосов
/ 30 марта 2009

Лучше заменить символы отдельно, так как они не всегда встречаются вместе или в таком порядке:

REPLACE(REPLACE(Fieldname, CHAR(13),' '), CHAR(10), ' ') AS new_Fieldname
3 голосов
/ 30 марта 2009

Обратите внимание, что у вас может быть возврат каретки + перевод строки или просто возврат каретки (в зависимости от исходной платформы, источника данных и т. Д.). Так что вам, вероятно, понадобится разобраться в обоих случаях.

2 голосов
/ 30 марта 2009

Вы можете прочитать CSV с возвратом каретки в них. Возврат каретки должен быть в строке, представленной строкой (то есть в кавычках). Это позволяет вам читать строки и включать их в поле. Если вы читаете CSV по одной строке за раз, вам нужно поддерживать состояние между строками и добавлять данные по мере необходимости.

В .Net самый простой способ прочитать CSV - это использовать объект Microsoft.VisualBasic.FileIO.textFileParser (да, вы можете использовать это в C #, если добавляете ссылку). Это читает даже самые противные CSVs, которые я бросил в это легко.

0 голосов
/ 30 марта 2009

В Word есть разные типы символов новой строки. Возможно, вам также следует поискать / заменить другие.

Я не уверен, что это все разные возможности, по крайней мере, знаком абзаца является тот, о котором я знаю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...