2017-07-31 89 views
0

如何使用分隔符如何使用分隔符

((2.1 * 5/2 ) - -2 + ( 18+9)/3 ) 

我想要得到的輸出分割以下字符串分割的正則表達式

運算符數組:((,*,/) , - ,+,(+),/,)]

操作數:[2.1,5,2,-2,18,9,3]

回答

0

我認爲正則表達式將有時間難以處理這個字符串,因爲你必須覆蓋所有的位置sibilities。我建議嘗試使用RegExp在每個字符後面加上逗號,然後使用條件表達式來處理所有可能。我認爲這將是一個loooooooooooooooong的RegExp。

也許這會更容易處理for循環中的字符串。在使用索引時,您可以輕鬆檢查下一個元素和上一個元素。

此致敬禮。

編輯:

看來我誤解了......這是我的編輯。

你可以用for循環來做,只要用if語句來處理特定的用例。例如,如果當前元素是數字,您可以檢查下一個元素(通過檢查索引+1)是否是一個數字,直到找到不是數字的字符並將保存的數字添加到新字符串爲止。當然,當你檢查你應該有一個變量來保存你想要添加到新字符串的結果。