我有这样的文字。
@@MMIVLoader@ProductVer@4.1.2@BCM_7400S_LE@Product@Aug 21 2009@
@@MMIVLib@ObjectVer@4.1.2@BCM_7400S_LE@Product@Aug 21 2009@
@@HuaweFGDLDrv@ObjectVer@01.00.09@7324@PRODUCT@Aug 20 2009@
@@ProtectVer@ObjectVer@127.8.1 @BCM_SDE5.03@PRODUCT@Aug 4 2009 06:56:19@
@@KernelSw@ObjectVer@0.0.1@BCM-7454@PRODUCT@ Dec 19 2007@
@@ReceiverSw@ObjectVer@E.5.6.001@HWBC01ZS@PRODUCT@May 3 2010@
我想把输出放在一个数组里
MMIVLoader 4.1.2
MMIVLib 4.1.2
HuaweFGDLDrv 01.00.09
ProtectVer 127.8.1
KernelSw 0.0.1
ReceiverSw E.5.6.001
谁能建议我如何使用正则表达式在 C# 中执行此操作,或者是否有任何复杂的方法来执行此操作
提前致谢
最佳答案
这很简单,您只需按 @
拆分(删除空项目)并拉取第一个和第三个项目即可。
var list = myString.Split(new String[] {Environment.NewLine},
StringSplitOptions.RemoveEmptyEntries)
.Select(item => item.Split(new char[] {'@'},
StringSplitOptions.RemoveEmptyEntries))
.Where(a => a.Length > 2)
.Select(a => new { Item = a[0], Version = a[2] }).ToArray();
关于c# - C# 中的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2824975/