Tutorial :How to split strings on carriage return with C#?



Question:

I have an ASP.NET page with a multiline textbox called txbUserName. Then I paste into the textbox 3 names and they are vertically aligned:

  • Jason
  • Ammy
  • Karen

I want to be able to somehow take the names and split them into separate strings whenever i detect the carriage return or the new line. i am thinking that an array might be the way to go. Any ideas?

thank you.


Solution:1

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

This covers both \n and \r\n newline types and removes any empty lines your users may enter.

I tested using the following code:

        string test = "PersonA\nPersonB\r\nPersonC\n";          string[] result = test.Split(new string[] {"\n", "\r\n"}, StringSplitOptions.RemoveEmptyEntries);          foreach (string s in result)              Console.WriteLine(s);  

And it works correctly, splitting into a three string array with entries "PersonA", "PersonB" and "PersonC".


Solution:2

Replace any \r\n with \n, then split using \n:

string[] arr = txbUserName.Text.Replace("\r\n", "\n").Split("\n".ToCharArray());  


Solution:3

Take a look at the String.Split function (not sure of exact syntax, no IDE in front of me).

string[] names = txbUserName.Text.Split(Environment.Newline);  


Solution:4

using System.Text;  using System.Text.RegularExpressions;       protected void btnAction_Click(object sender, EventArgs e)      {          string value = txtDetails.Text;          char[] delimiter = new char[] { ';','[' };          string[] parts = value.Split(delimiter, StringSplitOptions.RemoveEmptyEntries);          for (int i = 0; i < parts.Length; i++)          {              txtFName.Text = parts[0].ToString();              txtLName.Text = parts[1].ToString();              txtAge.Text = parts[2].ToString();              txtDob.Text = parts[3].ToString();          }      }  


Solution:5

String.Split?

mystring.Split(new Char[] { '\n' })  


Solution:6

Try this:

message.Split(Environment.NewLine.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);  

Works if :

var message = "test 1\r\ntest 2";  

Or

var message = "test 1\ntest 2";  

Or

var message = "test 1\rtest 2";  

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »