String.Split () - рассматривает последовательные разделители как один - PullRequest
12 голосов
/ 16 августа 2011

Я пытаюсь проанализировать набор файлов данных «фиксированной ширины», я использую это в кавычках, потому что ширина для каждого файла данных различна.Однако поля разделены числом X пробелов, поэтому я подумал просто прочитать в строке, а затем сделать строку. Split ('')

Однако это не работает для последовательных пробелов!!

1 Ответ

24 голосов
/ 16 августа 2011

У вас есть пара вариантов.

Первый - использовать перегрузку string.Split(), которая принимает параметр StringSplitOptions и передает StringSplitOptions.RemoveEmptyEntries:

string[] columns = lineOfText.Split(new [] {' '}, StringSplitOptions.RemoveEmptyEntries);

Таким образомЕсли в строке несколько пробелов, сгенерированные пустые записи будут отброшены.

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

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