2011-10-21 27 views
5

ho una casella di testo in cui entro in ingresso comestringa di Spalato in C#, spazio vuoto anche considerato come stringa come scartare stringa vuota

"Two; [email protected];" 

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

così quello che succede qui è il risultato prende tre corde. 1. due 2. [email protected] 3. "" (spazio vuoto) poiché vi è un; dopo l'e-mail considera che come una stringa come posso eliminare la terza stringa che ci vuole. Succede quando inserisco l'e-mail e un punto e virgola e premo la barra spaziatrice che genera un errore. Se è solo lo spazio dopo il punto e virgola la divisione dovrebbe scartarla come fare quello

risposta

12

Sto raccogliendo vuoi dividere la stringa in un certo numero di stringhe, ma escludere qualsiasi stringa "vuota" (quelle che consistono solo di spazi vuoti)? This dovrebbe aiutarvi ...

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

+1 Lavoreranno :-) – xanatos

+0

Does RemoveEmptyEntries rimuovere anche uno spazio? Ho pensato che fosse solo per rimuovere String.Empty ... Non ho provato però. –

3

Passo StringSplitOptions parametro

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

Sembra a me come avrebbe senso scartare la catena vuota gs dal risultato comunque, non solo alla fine. Se questo è il caso, è possibile utilizzare

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(';');