[.NET] 公式字串剖析

看板Visual_Basic作者 (超級呆倫!)時間14年前 (2012/01/11 17:34), 編輯推噓1(107)
留言8則, 3人參與, 最新討論串1/1
請輸入專案類型: 應用程式專案 我要從外部讀入一個寫好公式的txt檔 其中公式類型像是 a = b + c + d - e 這樣的String字串 等號左邊都只有一個變數 等號右邊可能會有很多個變數 只有加減的運算 每個變數都有對應的值 等號成立的話就return True反之return False 我可以用split等號左右邊 現在是右邊不知道怎麼處理 可以做到把變數跟運算子拆開並算出結果 其中a b c d的變數並不是程式中的變數 他可能只是一個代號,可能是一組數字或英文字 也可以字母和數字夾雜 他會有一個對應的表去查出他相對的數值 所以似乎只能用運算子當作關鍵字去parse 但在判斷加減號這邊我目前還沒想通 希望板上各位多多幫忙m(_ _)m -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.128.101.112 ※ 編輯: Darrenpower 來自: 220.128.101.112 (01/11 17:45) ※ 編輯: Darrenpower 來自: 220.128.101.112 (01/11 17:46)

01/11 18:24, , 1F
用一個串列或stringbuilder 逐字讀取原字串s
01/11 18:24, 1F

01/11 18:24, , 2F
讀到一般字元就加到stringbuilder後面 讀到運算符號立刻
01/11 18:24, 2F

01/11 18:25, , 3F
把stringbuilder轉字串後清除 並做後續處理
01/11 18:25, 3F

01/11 18:25, , 4F
(以exp parser而言就是push到stack裡面)
01/11 18:25, 4F

01/11 20:29, , 5F
樓上正解,中序轉後序後 再丟入堆疊
01/11 20:29, 5F

01/13 18:07, , 6F
我想請問一下~我已經可以將代號轉成數值~那麼計算的話
01/13 18:07, 6F

01/13 18:07, , 7F
是用後序去做嗎?
01/13 18:07, 7F

01/17 14:07, , 8F
終於寫出來了! 謝謝回答的兩位大師~
01/17 14:07, 8F
文章代碼(AID): #1F3LV3Kk (Visual_Basic)
文章代碼(AID): #1F3LV3Kk (Visual_Basic)