c# - C# 中的正则表达式

标签 c# string text-parsing

我有这样的文字。

@@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/

相关文章:

c++ - 类似 istream::getline() 的东西,但有替代的 delim 字符?

awk - 在匹配 STRING 的前 8 行前添加 "#"

python - 如何在 Python 中将此文本解析为表格?

c# - 使用 Azure B2C 进行 .NET 核心 JWT 验证

C++ 字符串比较

c# - 正则表达式中的匹配模式

java - 区分源代码中的文字和变量/符号

python split() vs rsplit() 性能?

c# - ASP.NET Session - 电子商务应用程序的使用或不使用以及最佳实践

c# - 验证我的钱