与正则表达式分割。匹配
问题描述:
我有一个像“颜色:黄色,绿色,白色”的字符串。 我需要从它得到一个数组(“黄色”,“绿色”,“白色”),它需要用一个正则表达式来完成。与正则表达式分割。匹配
我想申请喜欢
var result = Regex.Match("Colors: green, white, yellow", @":(\s(?<result>.*?)(,|$))*");
的东西是什么,我得到的是result.Groups [“结果”] ==“黄色”
我怎样才能得到所有其他颜色?可能有另一种方法来做到这一点?
答
这个片段将让你的颜色数组从result
Match对象。
string[] colours = result.Groups["result"].Captures
.Cast<Capture>()
.Select(c => c.Value)
.ToArray();
是否必须使用正则表达式?无论如何,你可以通过使用split函数轻松获得一个数组。 – 2010-10-03 17:11:04
是的,对于不同的源字符串会有很多正则表达式,所以它必须在一个步骤中完成(即不是先删除“颜色:”部分,然后用逗号分割) – Shaddix 2010-10-03 17:14:08