作者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