saltos - split salto de linea c#
Cómo dividir cadenas en el retorno de carro con C#? (6)
Tengo una página ASP.NET con un cuadro de texto de líneas múltiples llamado txbUserName. Luego pego en el cuadro de texto 3 nombres y están alineados verticalmente:
- Jason
- Ammy
- Karen
Quiero poder tomar los nombres y dividirlos en cadenas separadas cada vez que detecte el retorno del carro o la nueva línea. Estoy pensando que una matriz podría ser el camino a seguir. ¿Algunas ideas?
gracias.
Eche un vistazo a la función String.Split (no estoy seguro de la sintaxis exacta, no IDE en frente de mí).
string[] names = txbUserName.Text.Split(Environment.Newline);
Prueba esto:
message.Split(Environment.NewLine.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
Funciona si:
var message = "test 1/r/ntest 2";
O
var message = "test 1/ntest 2";
O
var message = "test 1/rtest 2";
Reemplace cualquier /r/n
con /n
, luego divida usando /n
:
string[] arr = txbUserName.Text.Replace("/r/n", "/n").Split("/n".ToCharArray());
mystring.Split(new Char[] { ''/n'' })
string[] result = input.Split(new string[] {"/n", "/r/n"}, StringSplitOptions.RemoveEmptyEntries);
Esto cubre tanto / n como / r / n los tipos de nueva línea y elimina cualquier línea vacía que sus usuarios puedan ingresar.
Probé usando el siguiente código:
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);
Y funciona correctamente, dividiéndose en una matriz de tres cadenas con las entradas "PersonA", "PersonB" y "PersonC".
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();
}
}