Не используйте оператор ||
, это для условных / логических выражений ИЛИ. Вместо этого при заполнении элементов массива, как вы делаете, используйте запятую, например, так:
string[] part = s.Split(new string[] { "PEOPLE", "ENTERPRISE", "HOME" }, StringSplitOptions.None);
Однако, если у вас не всегда будут эти заголовки, это не хороший способ разбить ваш текстовый файл. Вместо этого вам нужно определить некоторую структуру вашего файла. Например, если у вас всегда будут заголовки в FULL CAPS, то вы можете начать с разделения вашего текстового файла на строки, затем циклически проходить по каждому элементу и группировать элементы каждый раз, когда вы нажимаете строку, содержащую только символы в FULL CAPS .
Лично, если это возможно, я бы изменил структуру текстового файла, чтобы вы могли помечать заголовки каким-либо символом до или после: например, :THIS IS A HEADER
. Таким образом, вы можете разбить на строки, а затем просто искать символ :
в начале строки.
EDIT
Пример подхода к синтаксическому анализу с заголовками FULL CAPS см. В примере моего кода на PasteBin .
Примечание: строка ...
string[] lines = File.ReadAllLines(@"Sample.txt");
... можно заменить на ...
string textFromFile = File.ReadAllText(@"Sample.txt");
string[] lines = textFromFile.Split(new string[1] { System.Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);