微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C#中的正则表达式

我有这样的文字.

@@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();

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐