C# 如何检查EpiFind中的字符串是否包含值?
我想检查索引字符串(我的大小写字符串是“1,2,3”)是否包含一些值(如实际的字符串.contains方法),但似乎EpiFind没有提供该方法 我应用了value.AnyWordBeginsWith(match),它在我的情况下似乎有效,但这是一个黑客解决方案,可能会失败C# 如何检查EpiFind中的字符串是否包含值?,c#,episerver,episerver-find,C#,Episerver,Episerver Find,我想检查索引字符串(我的大小写字符串是“1,2,3”)是否包含一些值(如实际的字符串.contains方法),但似乎EpiFind没有提供该方法 我应用了value.AnyWordBeginsWith(match),它在我的情况下似乎有效,但这是一个黑客解决方案,可能会失败 searchQuery.Filter(x => x.StringToCheck.AnyWordBeginsWith("2")); 有没有合适的方法来检查字符串是否包含我的值 像这样: searchQuery.Filt
searchQuery.Filter(x => x.StringToCheck.AnyWordBeginsWith("2"));
有没有合适的方法来检查字符串是否包含我的值
像这样:
searchQuery.Filter(x => x.StringToCheck.Contains("2"));
请注意,在标记问题之前,此问题与C#或LINQ中的普通字符串比较无关。您可能应该选择替换。它将简化搜索/筛选 为此,只需添加一个助手属性,如
// Helper property used for indexing
public string[] ArrayOfStringToCheck => return StringToCheck?.Split(',');
…然后重新编制内容索引。之后,您可以进行如下筛选:
searchQuery.Filter(x=>x.ArrayOfStringToCheck.Match(“stringToFind”)代码>嗨@Ivan,我认为这会解决你的问题,如果您需要帮助,请联系我您是使用统一搜索还是键入搜索?@EricHerlitz我使用它的类型搜索hack可能会工作,但并不比AnyWordBeginsWith更好,并且在搜索2AnyWordBeginsWith时仍然会遇到类似12的问题,因为它可能匹配以“2”开头的值,而不等于“2”?是的,这就是我不打算使用itRight的原因,我的观点是,黑客技术更好,因为它不会冒这种不正确匹配的风险。:)我正在尝试执行searchQuery.Filter(x=>“2”。在(x.SplittedString))
中,但调试器抛出invalidoOperationException,表示x超出范围(此处-x.SplittedString
)。可能是什么?