我正在处理业务层查询,以根据数据库中的有效条目列表验证条目。我正在尝试使用最多2个外卡占位符进行验证。例如,XXXX_XX,其中_是通配符。要使用以下代码验证只有一个_ I&m; m的实例:
select A.id, A.Description, B.ManufacturName, B.supplierName
from Article20000Information A
left outer join Organisation B
ON B.id = A.id
当我有一个条目XX_XX_X时出现问题。我已经考虑过使用正则表达式来分割代码并单独验证每个部分,如下所示。
if (DiagCode.Contains("_"))
{
int count=0;
foreach (char c in DiagCode)
{
if(c.ToString() =="_")
count += 1;
}
if (count == 1)
{
int loc = DiagCode.IndexOf("_");
int len = DiagCode.Length;
int end = len - loc;
string diagCodeSubBegin = DiagCode.Substring(0, loc);
string diagCodeSubEnd = DiagCode.Substring(loc, end);
NHCSLINQ.MODEL.DIAGS_ICD10 tblDIAG_ICD102 = (from c in NHCSDB.DIAGS_ICD10s
where c.Code.StartsWith(diagCodeSubBegin)
&& c.Code.EndsWith(diagCodeSubEnd)
select c).SingleOrDefault();
if (tblDIAG_ICD102 != null)
{
return true;
}
}
然而,我不知道将_作为一个整体与各个字符串重新连接起来。必须有一种更简单的方法来实现这一目标吗?