16

For a class project I have to load a text file into a linked list. So far, I have been able to read from the file, but I am struggling to split it up into sections so that I can put it into the linked list.

For example, I would like to split these items up at the empty lines:

David
Hunter
No1
Admin

John
Smith
No11
Sales

Jane
Appleby
No5
Accounts

I have tried String[] people = record.Split('\n'); but of course, this just splits it at every line.

I have also tried:
String[] people = record.Split('\n\r');
String[] people = record.Split('\r\n');
String[] people = record.Split('\n\n');
but it won't compile due to "too many characters in character literal"

Could anyone please suggest a way to do this (preferably without regex)?

11
  • Please show us how you “read get the file”. Commented Sep 7, 2015 at 1:27
  • 3
    Split on "\r\n\r\n" - notice double quotes for string rather than single quotes for character. Commented Sep 7, 2015 at 1:27
  • Post the actual input of text file and also attach the code that extracts record variable. Commented Sep 7, 2015 at 1:27
  • 2
    txt.Split(new string[] { Environment.NewLine + Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries) Commented Sep 7, 2015 at 1:31
  • 1
    @Mick that would break on any "\r\n", "\r" or "\n". The OP wants to break on an empty line, i.e. two consecutive newlines ("\r\n\r\n"). Commented Sep 7, 2015 at 4:20

1 Answer 1

33

You can get it accomplished by using

string[] people = record.Split(new string[] { "\r\n\r\n" },
                               StringSplitOptions.RemoveEmptyEntries);

or

string[] people = record.Split(new string[] { Environment.NewLine + Environment.NewLine },
                               StringSplitOptions.RemoveEmptyEntries);

What it does is it removes empty entries with StringSplitOptions.RemoveEmptyEntries and then splits where two linebreaks are right after each other.

Sign up to request clarification or add additional context in comments.

1 Comment

This worked, thank you! Also a big thank you to everyone else who offered help!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.