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

meg*_*382 9 c# string lastindexof

我试图找到最后的算(+,-,*/在一个字符串).

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

string例如,can 的值可以是:

1+1/2*3-4

要么

1/2-3+4*7

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

小智 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[] { '+', '-', '/', '*' });
Run Code Online (Sandbox Code Playgroud)

在这种情况下, lastOperatorIndex == 7

如果您想将char本身存储到变量中,您可以:

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