2011-10-21 19 views
5

GirişimiBoş dize de boş dize nasıl atılacağı olarak düşünüldü

"Two; [email protected];" 

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

olarak girdiğim bir metin kutusu var, bu durumda burada sonuç üç dizge alıyor. 1. iki 2. [email protected] 3. "" (boş alan) olduğu için; e-postadan sonra bir dizge olarak ele alacağı 3. dizeyi nasıl atabileceğimi düşünür. E-posta ve noktalı virgül girip boşluk çubuğuna bastığımda hata veriyor. Eğer noktalı virgülden sonra boşluk ise bölme,

'in nasıl yapılacağını atmalıdır.

cevap

12

nasıl yapılacağını göz ardı etmemelidir. Bu dizeyi bir dizi dizeye bölmek istediğinizde, ancak "boş" dizeleri hariç tutmalısınız (yalnızca beyaz boşluktan oluşur))? This Bu gibi görünüyor bana StringSplitOptions.RemoveEmptyEntries

http://msdn.microsoft.com/it-it/library/tabh47cf.aspx

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

+1 :-) – xanatos

+0

çalışacak mı kullanabilir? Sadece String.mpty kaldırmak için olduğunu düşündüm ... Yine de test etmedim. –

3

Geçiş StringSplitOptions parametre

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

Çağrı aynı yöntem ... size yardım etmek gerektiğini boş strin atmak mantıklı olurdu Sonuçtan gs, sadece sonunda değil. Bu durumda ise, RemoveEmptyEntries da bir boşluk kaldırır mı

char[] separators = new char[]{';'}; 
string[] result = txt_to.Text.Split(separators , StringSplitOptions.RemoveEmptyEntries); 
2

ekleyerek

string[] result = txt_to.Text.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); 
0
string s=txt_to.Text; 
s = s.Replace(" ", ""); 
string[] result = s.Split(';'); 
İlgili konular