2013-07-18 8 views
8

Ho bisogno di dividere una stringa separata da più spazi. Per esempio:Dividere la stringa separata da più spazi, ignorando i singoli spazi

"AAAA AAA  BBBB BBB BBB  CCCCCCCC" 

voglio dividerlo in questi:

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

ho provato con questo codice:

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

Ma non il successo, voglio solo dividere la stringa da più spazi, non per singolo spazio.

+0

Quanti spazi ci potrebbero essere tra gli articoli? –

+1

deve essere fatto con RegEx? – MethodMan

+0

Sono separati da più di uno spazio. Non importa quanti .. Il punto è ignorare lo spazio singolo. –

risposta

24

+ significa "uno o più", per cui un singolo spazio potrebbe qualificarsi come separatore. Se si desidera richiedere più di una volta, utilizzare {m,n}:

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

Il {m,n} espressione richiede l'espressione immediatamente precedente ad essa corrisponde m a n volte, compreso. È richiesto un solo limite. Se manca il limite superiore, significa "m o più ripetizioni".

+0

Questo è esattamente quello che sto cercando. Molte grazie! –

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