C#中的正则表达式

use*_*015 3 c# string text-parsing

我有这样的文字.

@@ MMIVLoader @ ProductVer @ 4.1.2 @ BCM_7400S_LE @ @产品2009年8月21日@
@@ MMIVLib @ ObjectVer @ 4.1.2 @ BCM_7400S_LE @ @产品2009年8月21日@
@@ HuaweFGDLDrv @ ObjectVer @ 01.00.09 @ 7324 @ @ PRODUCT 2009年8月20日@
@@ ProtectVer @ ObjectVer @ 127.8.1 @ BCM_SDE5.03 @ @产品2009年8月4日06:56:19 @
@@ KernelSw @ ObjectVer @ 0.0.1 @ BCM-7454 @ @产品2007年12月19日@
@ @ ReceiverSw @ ObjectVer @ E.5.6.001 @ HWBC01ZS @ PRODUCT @ 2010年5月3日@

我希望输出像一个数组

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
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议我如何使用正则表达式在c#中执行此操作,或者是否有任何复杂的方法来执行此操作

提前致谢

cjk*_*cjk 8

这很简单,您可以拆分@(删除空项目)并拉出第一个和第三个项目.

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();
Run Code Online (Sandbox Code Playgroud)