我需要从字符串中提取第一个数值集。在这里,我找到了一种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)类型。
我将不胜感激。
谢谢
如何将结果解析为字符串?我不太了解LINQ,但我会将结果解析为String并使用regex。
bool Isbn = db.BibContents.Any(ad => GetDigits(ad.NormValue) == ISBN);
public string GetDigits(string text) {
return string.Join("",text.AsEnumerable().Where(char.IsDigit));
}
怎么样?