使用二进制和一元运算拆分计算器表达式

本文关键字:运算 一元 拆分 计算器 表达式 二进制 | 更新日期: 2023-09-27 18:33:52

>我得到如下字符串输入:1+2*5+sin100-2和 为了计算它,我需要制作如下所示的数组:

1,+,2,*,5,+,sin,100,-,2

有没有简单的解决方案来解决这个问题?目前,我正在对字符串中的所有字符进行循环,但我想知道 c# 是否为此问题提供了最简单的解决方案。

使用二进制和一元运算拆分计算器表达式

我找到了简单的解决方案。
你可以直接写它,而不是抱怨问题中没有代码。

string expression;//my calculator expression
string[] operators;//array that contains both unary and binary operators.
for(int i=0;i<operators.length;i++)
{
   expression = expression.replace(operators[i]," "+operators[i]+ " ");
}
string[] Values= expression.split(" ");