我正在尝试将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}
似乎已从中缀表达式中正确删除了空格,但拆分结果字符串是不正确的。
谁能告诉我为什么?同样,如果您有任何建设性的批评或建议,请告诉我!