在c#中从字符串中提取第一个数字字符



我需要从字符串中提取第一个数值集。在这里,我找到了一种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));
}

怎么样?

最新更新