2011-10-21 29 views
5

Tengo un cuadro de texto donde entro en la entrada comoSeparar una cadena en C#, el espacio vacío también se considera como una cadena de cómo desechar de cadena vacía

"Two; [email protected];" 

string[] result = txt_to.Text.Split(';'); 

así que lo que sucede aquí es el resultado tarda tres cuerdas. 1. dos 2. [email protected] 3. "" (espacio vacío) ya que hay un; después del correo electrónico, considera que como una cadena, ¿cómo puedo descartar la tercera cadena que se necesita? Sucede cuando ingreso el correo electrónico y un punto y coma y presiono la barra espaciadora arroja un error. Si es solo el espacio después del punto y coma, la división debería descartarlo cómo hacerlo

Respuesta

12

Estoy reuniendo quieres dividir la cadena en varias cadenas, pero excluir las cadenas "vacías" (las que consisten únicamente en espacios en blanco)? This debe ayudar a cabo ...

string[] result = txt_to.Text.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); 
6
var arr = mystring.Split(new string[]{";"}, StringSplitOptions.RemoveEmptyEntries); 
+0

+1 Trabajará :-) – xanatos

+0

¿Tiene RemoveEmptyEntries también eliminan un espacio? Pensé que era solo para eliminar String.Empty ... Aunque no lo he probado. –

3

Pass StringSplitOptions parámetro

var result = yourString.Split(new string[] {";"}, StringSplitOptions.RemoveEmptyEntries); 
2

A mi me parece como tendría sentido descartar la línea vacía gs del resultado de todos modos, no solo al final. Si este es el caso, podría utilizar

char[] separators = new char[]{';'}; 
string[] result = txt_to.Text.Split(separators , StringSplitOptions.RemoveEmptyEntries); 
0
string s=txt_to.Text; 
s = s.Replace(" ", ""); 
string[] result = s.Split(';'); 
Cuestiones relacionadas