2014-11-05 22 views
0

目前之間的分裂,我使用這個代碼,以分割字符串:不特定字符

string[] split = source.Split(new char[] { ' ' });

因此,「快速/小棕/狐」將是:

而我想是這樣的: The quick /little brown/ fox

我已經看到了一些解決方案,(我真的不明白他們),但他們都走進一個var,我想讓它進入string[]

+1

你很難做,沒有一個正則表達式。你必須使用Split還是可以使用正則表達式? – Louis 2014-11-05 21:26:10

+2

'var'可以是'string []'。 var是你的方法返回的。如果你的方法返回一個字符串數組,那麼它是一個字符串數組。 – paqogomez 2014-11-05 21:26:56

+0

如果需要,可以使用正則表達式。 – 2014-11-05 21:27:47

回答

5

您可以使用正則表達式是:

string s = "The quick /little brown/ fox"; 
string[] result = Regex.Matches(s, @"((/.+/)|(\b\w+\b))").Cast<Match>().Select(m => m.Value).ToArray(); 
result.ToList().ForEach(x => Console.WriteLine(x)); 

輸出:

 
The 
quick 
/little brown/ 
fox
+0

非常感謝您爲我工作! – 2014-11-05 21:48:51

+0

有人可能想讓'/.../'匹配非貪婪,因爲正則表達式的寫法,拆分類似'a/bc/d/ef/g'的東西很可能給你'a', '/ bc/d/ef /'和'g',而不是預期的'a','/ bc /','d','/ ef /'和'g'。只是在說' ... – 2014-11-05 22:14:18