从C#中的字符串中提取第一个数字字符

时间:2014-03-27 09:21:07

标签: c# regex linq-to-entities

我需要从字符串中提取第一个数值集。在这里(Link Here),我找到了一种RegEx方法来做到这一点。但是,在我的情况下,我有一个LINQ查询,我需要在那里做同样的逻辑。

这是我的现有逻辑

bool Isbn = db.BibContents.Any(ad => ad.NormValue == ISBN);  // I need to do the numeric split logic into the db column NormValue

注意

我不能在这里循环获取值并在循环中进行比较。因为,我在DB中有大量记录,而NormValue列的类型是nvarchar(max)。

对此有任何帮助将不胜感激。

由于

2 个答案:

答案 0 :(得分:0)

bool Isbn = db.BibContents.Any(ad => GetDigits(ad.NormValue) == ISBN);

public string GetDigits(string text) {
     return string.Join("",text.AsEnumerable().Where(char.IsDigit));
}

那怎么样?

答案 1 :(得分:0)

如何将结果解析为字符串?我对LINQ知之甚少,但我会将结果解析为String并使用正则表达式。