【发布时间】:2010-08-10 11:35:38
【问题描述】:
我根据“-”分隔“A320-789-890”,我得到以下列表:
"A101C", "B7CL", "E7CL", "D7CL"
一切正常。我上面的结果集是我的解决方案结果。但我有两个问题:
- 如何使用正则表达式做到这一点?
- 如果我可以使用正则表达式来做到这一点,我可以将正则表达式与 linq 一起使用吗?
-
根据我下面的方法或正则表达式的性能,哪个更有效?
命名空间 engRegex1 { 公共部分类Form1:表格 { 公共表格1() { 初始化组件(); }
private void Form1_Load(object sender, EventArgs e) { Engineering eng = new Engineering(); string[] engSplitList = new string[eng.engList.Count()]; List<string> firstitem = new List<string>(); foreach (string item in eng.engList) { engSplitList = item.Split('-'); firstitem.Add(engSplitList[0]); } foreach (string item in firstitem) listBox1.Items.Add(item); } } public class Engineering { public List<string> engList = new List<string>() { "A101C-234-456", "B7CL-567-789", "E7CL-567-789", "D7CL-567-789" }; }}
【问题讨论】:
-
如果
split有效,请继续使用它。为什么要把事情复杂化? -
重读 - 我不明白你怎么可能从
"A320-789-890"得到"A101C", "B7CL", "E7CL", "D7CL"。 -
@Oded,如果你看一下这段代码,你可以看到他从哪里得到的。
-
@Tony - 看问题的第一句话...
-
@Oded, :P 我知道你在看哪里。我只是说你可以看到他的代码是什么意思。
标签: c# .net regex visual-studio