就是这样。在第二个' - '之后,包括' - '符号将会占用任何东西(换行符除外)。
var exp = @"^\w*-\w*-(.*)$";
var match = Regex.Match("frederic-84728957-NEE-DED", exp);
if (match.Success)
{
var result = match.Groups[1]; //Result is NEE-DED
Console.WriteLine(result);
}
编辑:我回答另一个问题,它涉及到这一点。除此之外,它要求提供LINQ解决方案,我的回答如下,我发现非常清楚。
Pimp my LINQ: a learning exercise based upon another post
var result = String.Join("-", inputData.Split('-').Skip(2));
或
var result = inputData.Split('-').Skip(2).FirstOrDefault(); //If the last part is NEE-DED then only NEE is returned.
正如其他提到的SO线程是不是这样做的最快方法。
我用了你的问题,因为一点点的学习锻炼:http://stackoverflow.com/questions/3448269/pimp-my-linq-a-learning-exercise-based-upon-another-sa-question 谢谢! – 2010-08-10 11:33:30