我正在努力实现.net核心OData接口。
一个字段:FileStore的类型为IEnumerable。为了在excel中获取此字段,我使用string.join将其转换为字符串。现在,我想对它应用一个正则表达式,以获得仅匹配" MKOIP-P0"的值。
return Ok(_assetDiscoveryService.GetAllAssets(tenantGuid).Select(a => new ODataAsset
{
FileStore = a.Type == "VMWare.Compute/virtualMachines" ? string.Join(",", a.VSphereSpecificInfo.DiskInfo.Select(b => b.Filestore) ): null,
}).AsQueryable());
我知道Regex.Match。但是这会引发错误:Cannot implicitly convert source type "System.Text.RegularExpressions.Match" to target type "String".
非常感谢任何帮助。
答案 0 :(得分:1)
由于要求检查b.FileStore是否包含常量字符串" MKOIP-P0",我们可以使用string.Contains方法:
FileStore = a.Type == "VMWare.Compute/virtualMachines" ? string.Join(",", a.VSphereSpecificInfo.DiskInfo.Select(b => b.Filestore).Where(fs => fs.Contains("MKOIP-P0")) ): null,