2010-10-03 100 views
0

我有一個像「顏色:黃色,綠色,白色」的字符串。 我需要從它得到一個數組(「黃色」,「綠色」,「白色」),它需要用一個正則表達式來完成。與正則表達式分割。匹配

我想申請喜歡

var result = Regex.Match("Colors: green, white, yellow", @":(\s(?<result>.*?)(,|$))*"); 

的東西是什麼,我得到的是result.Groups [「結果」] ==「黃色」

我怎樣才能得到所有其他顏色?可能有另一種方法來做到這一點?

+0

是否必須使用正則表達式?無論如何,你可以通過使用split函數輕鬆獲得一個數組。 – 2010-10-03 17:11:04

+0

是的,對於不同的源字符串會有很多正則表達式,所以它必須在一個步驟中完成(即不是先刪除「顏色:」部分,然後用逗號分割) – Shaddix 2010-10-03 17:14:08

回答

1

嘗試result.Groups [「結果」。捕捉

+0

!謝謝 – Shaddix 2010-10-03 17:14:43

2

這個片段將讓你的顏色數組從result Match對象。

string[] colours = result.Groups["result"].Captures 
    .Cast<Capture>() 
    .Select(c => c.Value) 
    .ToArray();