12

+文字列内の最後の演算子 ( 、-*または)を見つけようとして/います。

メソッドを使用しようとしましstring.indexof('operator', i);たが、この場合、単一の型しか取得できませんでしたoperator。これに対するより良い解決策はありますか?

の値はstring、たとえば次のようになります。

1+1/2*3-4

また

1/2-3+4*7

これは、最後の演算子がそれらのいずれかである可能性があることを意味します。

4

1 に答える 1

19

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[] { '+', '-', '/', '*' })];
于 2013-10-09T09:30:42.813 に答える