remove white space
に存在することを試みていますString input
。私の最終的な目標は、中置評価器を作成することですが、入力式の解析に問題があります。
これに対する簡単な解決策は、Regular Expression
関数を使用することだと私には思えます。Regex.Replace(...)
これが私がこれまでに持っているものです..
infixExp = Regex.Replace(infixExp, "\\s+", string.Empty);
string[] substrings = Regex.Split(infixExp, "(\\()|(\\))|(-)|(\\+)|(\\*)|(/)");
ユーザーが中置式 (2 + 3) * 4 を入力すると仮定すると、これにより文字列が配列に分割されることが予想され{(, 2, +, 3, ), *, 4}
ます。ただし、デバッグ後、次の出力が得られます。
infixExp = "(2+3)*7"
substrings = {"", (, 2, +, 3, ), "", *, 7}
中置式から空白が適切に削除されているように見えますが、結果の文字列の分割は不適切です。
誰かが理由について私に洞察を与えることができますか? 同様に、建設的な批判や提案があれば、お知らせください。