如何从字符串中查找最后一组字符

时间:2013-10-09 09:23:52

标签: c# string lastindexof

我正在尝试在字符串中找到最后一个运算符(+-*/)。

我尝试使用方法string.indexof('operator', i);,但在这种情况下,我只能获得单一类型的operator。有没有更好的解决方案?

string的值可以是:

1+1/2*3-4

1/2-3+4*7

这意味着最后一个运营商可以是其中任何一个。

1 个答案:

答案 0 :(得分:12)

http://msdn.microsoft.com/en-us/library/system.string.lastindexofany.aspx

LastIndexOfAny方法就是你所追求的。它将采用一系列字符,并找到任何字符的最后一个出现。

var myString = "1/2-3+4*7";
var lastOperatorIndex = myString.LastIndexOfAny(new char[] { '+', '-', '/', '*' });

在此方案中,lastOperatorIndex == 7

如果您想将char本身存储到可能所拥有的变量中:

var myString = "1/2-3+4*7";
var operatorChar = myString[myString.LastIndexOfAny(new char[] { '+', '-', '/', '*' })];