【问题标题】:search in text delimited field using linq [closed]使用 linq 在文本分隔字段中搜索 [关闭]
【发布时间】:2014-07-10 12:05:12
【问题描述】:

我有一个由分隔符(动态数字)部分组成的字段:

(c44 EE0),(c2 EE7),(e79 EE10),(c2 EE90)

我的字段是逗号分隔符字段,我如何拆分它(在 Linq 中)并分别在各个部分中搜索?

即查询:获取那些有C2的部分

请让我再次描述一下我的问题,我在 sql server 中有一个字段,我想通过 LINQ 获得结果,

在 SNP 表中名为 code 的字段上方,您可以看到此代码字段是制表符分隔的,因此 我想抓住那些至少有一部分有 C2 的记录。 通过“逗号分隔符”拆分字段很简单,但我如何在 linq 查询中做到这一点?

【问题讨论】:

  • 你的意思是 line.split(..) 我知道它和字符数,但是请告诉我如何收集那些像 C2 一样的 ()
  • 你的意思是字符串[]?

标签: c# sql linq delimiter


【解决方案1】:
var field = "(c44 EE0),(c2 EE7),(e79 EE10),(c2 EE90)";
var result = field.Split(',').Where(x => x.Contains("c2"));

【讨论】:

  • 如果有多个目标文本如:var query = (from c in db.SNPs where c.Effect.Split(',').Where(x =>.Contains("c2") || x.Contains("c4")) select c);,如何获得这样的查询
  • 看看 Intersect stackoverflow.com/questions/11285045/… 创建一个新问题可能是个好主意。
  • 对于这个代码var query = (from c in db.SNPs where c.Effect.Split(',').Any(x => x.Contains("C2")) select c).ToArray(); 我遇到了这个错误参数“值”是错误的类型。应为“System.String”。实际的'System.String[]'。我如何处理字符串数组??
  • @user3616494 您到底需要从查询中得到什么?通过您的示例,您正在选择整个对象(在本例中为 SNP 对象)。
  • 请让我再次描述我的问题我在 sql server 中有一个字段,我想通过 LINQ 获得结果,上面的字段名为 SNP 表中的代码,您可以看到此代码字段是制表符分隔的所以我想抓住那些至少有一部分有 C2 的记录。通过“逗号分隔符”拆分字段很简单,但我如何在 linq 查询中做到这一点?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多