我正在使用.net替换php应用程序,并希望在某些情况下寻找非常具体的字符串模式。
我一直在使用以下代码替换此SQL语句
喜欢%SMITH%的地方
query = query.Where(x => x.PARTIES.Any(y => y.PNAME.ToUpper().Contains(predicate.PartyName.ToUpper())));
这很好用,但是我被告知我还需要寻找一种特殊的图案,如下所示
在哪里喜欢%“%SMITH%”%
会发现类似以下的内容。
“ CAPTAIN JOHN V.SMITH”
我尝试使用此代码来复制查询,但返回0次点击
string s = string.Format("%\"%SMITH%\"%", predicate.PartyName);
query = query.Where(x => x.PARTIES.Any(y => y.PNAME.Contains(s)));
任何帮助将不胜感激。
答案 0 :(得分:0)
看起来像这样
query = query.Where(x => x.PARTIES.Any(y =>
(y.PNAME.StartsWith("\"")
&&
y.PNAME.EndsWith("\"")
&&
y.PNAME.Contains(predicate.PartyName) )));