作者Darrenpower (超級呆倫!)
看板Visual_Basic
標題[.NET] 公式字串剖析
時間Wed Jan 11 17:34:57 2012
請輸入專案類型: 應用程式專案
我要從外部讀入一個寫好公式的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)
1F:→ MOONRAKER:用一個串列或stringbuilder 逐字讀取原字串s 01/11 18:24
2F:→ MOONRAKER:讀到一般字元就加到stringbuilder後面 讀到運算符號立刻 01/11 18:24
3F:→ MOONRAKER:把stringbuilder轉字串後清除 並做後續處理 01/11 18:25
4F:→ MOONRAKER:(以exp parser而言就是push到stack裡面) 01/11 18:25
5F:推 sohumi:樓上正解,中序轉後序後 再丟入堆疊 01/11 20:29
6F:→ Darrenpower:我想請問一下~我已經可以將代號轉成數值~那麼計算的話 01/13 18:07
7F:→ Darrenpower:是用後序去做嗎? 01/13 18:07
8F:→ Darrenpower:終於寫出來了! 謝謝回答的兩位大師~ 01/17 14:07