2012-12-09 54 views
2

我該怎麼做一個多重分割?我如何做一個多重分割

string eq = SIN(X)/3

我可以拆分這就像string equation[] = eq.Split['/']但如果我在我的公式我怎麼可以拆分這+, -, *, /

string eq = SIN(X) + 3/3 * 4

+0

http://msdn.microsoft.com/en-us/library/b873y76a%28v=vs.90%29.aspx – Blim

+0

如果你正在尋找評估數學表達式,你應該嘗試[NCalc(HTTP: //ncalc.codeplex.com/) –

+1

請顯示您的示例字符串的預期輸出。 'Split'通常會丟棄分隔符......如果你正在尋找分詞'Split'可能是不夠的。 –

回答

7

string.Split允許多個字符傳遞:

var result = eq.Split('/', '+', '-', '*'); 

話雖如此,它不是通過字符串操作來評價這樣的表達式是個好主意。您應該爲此任務使用數學解析器。

+0

我需要首先計算SIN,或者在計算其餘方程 –

+0

+1之前的任何表達式,尤其是對使用正確的分析器的評論。 –

1

使用Regex.Split並使用正則表達式來匹配操作符,例如,下面:

string[] equation = Regex.Split(eq, "[/\+\*-]"); 

供應在正則表達式表達的所有可能的運算符。

+0

-1 c#和正則表達式語法都不正確 –

+0

@ L.B我在正則表達式中添加了轉義字符。 「C#」都不代表什麼意思?我已經提供了文檔的鏈接。 –

+0

'string equation []'或'string [] equation'? –