我正在尝试查找字符串中的最后一个运算符(+
、-
、*
或/
)。
我试图使用string.indexof('operator', i);
方法,但在本例中,我只能获得单一类型的operator
。有没有更好的解决方案?
例如,string
的值可以是:
1+1/2*3-4
或
1/2-3+4*7
这意味着最后一个操作员可能是他们中的任何一个。
发布于 2013-10-09 17:30:43
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
如果你想把字符本身存储到一个变量中,你可以这样做:
var myString = "1/2-3+4*7";
var operatorChar = myString[myString.LastIndexOfAny(new char[] { '+', '-', '/', '*' })];
https://stackoverflow.com/questions/19267934
复制相似问题