Search code examples
c#.netstringsplit

split a string on newlines in .NET


I need to split a string into newlines in .NET and the only way I know of to split strings is with the Split method. However that will not allow me to (easily) split on a newline, so what is the best way to do it?


Solution

  • To split on a string you need to use the overload that takes an array of strings:

    string[] lines = theText.Split(
        new string[] { Environment.NewLine },
        StringSplitOptions.None
    );
    

    Edit:
    If you want to handle different types of line breaks in a text, you can use the ability to match more than one string. This will correctly split on either type of line break, and preserve empty lines and spacing in the text:

    string[] lines = theText.Split(
        new string[] { "\r\n", "\r", "\n" },
        StringSplitOptions.None
    );