我正在尝试查找字符串中最后一个运算符(+
、-
、*
或/
)。
我试图使用方法string.indexof('operator', i);
,但在这种情况下,我只能得到单个类型的operator
。是否有更好的解决方案?
string
的值可以是:
1+1/2*3-4
或
1/2-3+4*7
这意味着最后一个操作符可以是它们中的任何一个。
我正在尝试查找字符串中最后一个运算符(+
、-
、*
或/
)。
我试图使用方法string.indexof('operator', i);
,但在这种情况下,我只能得到单个类型的operator
。是否有更好的解决方案?
string
的值可以是:
1+1/2*3-4
或
1/2-3+4*7
这意味着最后一个操作符可以是它们中的任何一个。
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[] { '+', '-', '/', '*' })];