2013-07-18 24 views
8

Birden çok boşlukla ayrılmış bir dizeyi bölmem gerekiyor. Örneğin:Tek boşlukları göz ardı ederek birden fazla boşlukla ayrılmış bölme dizisi

"AAAA AAA  BBBB BBB BBB  CCCCCCCC" 

Bunları bölmek istiyorum:

"AAAA AAA" 
"BBBB BBB BBB" 
"CCCCCCCC" 

Bu kod ile çalıştı:

value2 = System.Text.RegularExpressions.Regex.Split(stringvalue, @"\s+"); 

Ama başarının, sadece tarafından dize bölmek istediğiniz tek boşluk ile değil, birden çok boşluk.

+0

Öğeler arasında kaç boşluk olabilir? –

+1

RegEx ile yapılması gerekmiyor mu? – MethodMan

+0

Birden fazla alanla ayrılırlar. Kaç tane olduğu önemli değil. Önemli olan tek alanı görmezden gelmektir. –

cevap

24

+ "bir veya daha fazla", yani tek bir boşluk ayırıcı olarak nitelemek anlamına geliyor. Eğer birden fazla kez zorunlu kılmak istiyorsanız, {m,n} kullanın: o dahil, mn kez maç için

value2 = System.Text.RegularExpressions.Regex.Split(stringvalue, @"\s{2,}"); 

{m,n} ifadesi hemen önce ifadesini gerektirir. Sadece bir sınır gerekli. Üst limit eksikse, "m veya daha fazla tekrar" anlamına gelir.

+0

Bu tam olarak aradığım şey. Çok teşekkürler! –

2
value2 = System.Text.RegularExpressions.Regex.Split(stringvalue, @"\s{2,}"); 
2
value2 = System.Text.RegularExpressions.Regex.Split(stringvalue, @"\s\s+"); 
İlgili konular