строковая операция в .net во время ввода / вывода файла - до того, как он был добавлен во вкладку, теперь он является § - PullRequest
2 голосов
/ 14 октября 2011

В моем текущем коде я использую этот код для файлов, у которых есть вкладка разделителя, поэтому я использую '\ t' в коде. Теперь разделитель изменен на § вместо вкладки, так что следует использовать escape-последовательность ASCII.

Текущий код:

string[] strFields = inputRecord.Split('\t');

Новый код:

string[] strFields = inputRecord.Split('***'); what *** should be?

Я пытался с §, но не работает

Ответы [ 2 ]

1 голос
/ 14 октября 2011

Вы, вероятно, прочитали файл в неправильной кодировке. Попробуйте другую кодировку:

new StreamReader(fileName, Encoding.GetEncoding("iso-8859-1")))
0 голосов
/ 14 октября 2011

Вы пытались вместо этого ввести escape-код символа Юникод?

string[] strFields = inputRecord.Split('\u00A7');

Хотя, использование § прямо в тексте работало для меня:

string[] strFields = inputRecord.Split('§');

Вы уверены, что использовали правильный юникод-символ? Поскольку строки .NET являются Unicode, вы уверены, что символ отображается на этот символ Unicode? Может быть разница в чем-то вроде кодовой страницы, например, если исходной строкой был ansi.

РЕДАКТИРОВАТЬ: Я бы попробовал предложение Марка, это, вероятно, проблема с кодовой страницей, и я подозреваю, что его решение будет работать.

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