LinQ子串函数从右边开始

时间:2010-12-21 10:05:08

标签: linq-to-sql

我是linQ的新手,我遇到了问题

问题:如果我有一个字符串示例“MySTring”,我需要从字符串右边开始的位置5和6处的字符,即:“ST”

这是我的查询

Dim result =来自AllVals中的每一个              everyval.Substring(5,2)='ST'              选择everyval.Name

现在这不会从数据库中返回正确的值,因为子字符串函数中的位置的默认考虑因素是从LEft到Right。 一种解决方案可能是反转String,然后将子串函数应用于它。 但是我该怎么做呢?

有人可以告诉我.. ???

1 个答案:

答案 0 :(得分:1)

这是一个相当奇怪的要求,通常IndexOf/Contains就足够了。但是,您可以尝试(概念上)截断值并使用EndsWith测试结尾。

这样的事情(未经测试,可能不起作用):

Dim result = from everyval in AllVals where everyval.Remove(4).EndsWidth("ST")

MSDN很好地列出了可以从LINQ安全地转换为SQL的字符串函数:http://msdn.microsoft.com/en-us/vbasic/bb688085