【发布时间】:2014-08-18 06:47:58
【问题描述】:
我正在使用这个 Linq 来查找列表中最高的 int,这样我就可以递增它并将其添加到下一个字符串的末尾:
var CableNumber = CList.Select(v => int.Parse(v.CableNumber.Substring(n))).Max();
但是,由于字符串不是固定长度,我想在其中插入一个Regex.Match,可能类似于:
n = Regex.Match(CableNumber, @"\d{3}", RegexOptions.RightToLeft);
指定;输入字符串遵循的唯一格式是它的末尾总是有一个 3 位数字,可能后跟一个字母。一些例子:
CP1-P-CP2-001 (001)
MOT1PSP2023A (023)
TKSP3-C-FLT2-234-A (234)
我该如何实现呢?有没有更好的办法?
【问题讨论】:
-
您对哪一部分有问题?哪个不工作?
-
Regex不能翻译成 linq 表达式,你可以做的是先执行查询到IEnumerable<T> -
正则表达式是一个很好的方法。但是您的第三个示例与您在上面的句子中所写的内容相矛盾:234 后面没有单个字母。
-
@YuliamChandra 他没有提到SQL,所以不能翻译成查询应该没关系。
-
抱歉,我将
Linq query误解为Linq to entities