2011-12-21 8 views
0

У меня есть этот файл, который имеет контрольные символы в нем, как десятичные 29, 30. В блокноте для заметок ++ они выходят на GS, RS соответственно. В C# я делаю File.ReadAllLines ... тогда для каждой строки мне нужно разбить всю строку на этих контрольных символах.Анализ файлов с контрольными характеристиками

Позволяет сказать, что у меня есть строка, как в:

1RSACCTGS2RS718GS3RS425 ...

элементы, которые я бы ожидать, являются 1, ACCT, 2, 718, 3, 425 ...

Я имею в виду, что я могу поместить строку в toCharArray, затем проверить каждый символ, если это элемент управления, как в:

if (char.IsControl (c)), но я не думаю, что это слишком эффективно. Регулярное выражение было бы неплохо, я думаю, но не уверен, как его написать. Есть идеи?

Спасибо,

Дэвид

ответ

0

Используйте string.Split метод, и передать его массив символов управления, на котором вы хотели бы разделить:

// Add other special characters on which you'd like to split to the array below 
var tokens = line.Split(new[] {(char) 29, (char) 30}); 

Теперь tokens содержит массив подстрок оригинальная строка, разделенная специальными символами. Несколько специальных символов в строке игнорируются.