如何用正则表达式分析公式

wyc_net2004 2005-07-19 01:03:43
能否用正则表达式完成如下功能:
一个字符串:(a-b)*12+c-d 与此字符串相对应的是一个数组:3,4,5,6
第一个字符串中有4个字符,能否顺序的用后一个数组中的值去替换?
我希望得到的结果是:(3-4)*12+5-6。
知道正则表达式有查找替换功能但不熟悉,在此求教高手们。
还有顺便问一个sql server的问题:
有一个a表
ID NUM1 NUM2
1 8.8 9.7
2 10.5 77

我的查询语句是:select (Num1*7+Num2-6)/4+num1-0.8+num2/2-(num1*num2)
总之就是对NUM1 NUM2做了一大堆的算术操作 这两个字段的类型是float.我不知道sql server的计算能力到底怎样,值都能出来就是不知道对不对,我产生怀疑的原因是如果调用ROUND()函数。选择不同的精度时有些结果正确有些错误。当时我测试的是小数点6位和8位不正确其他的正确比如9位5位4位。
如果有知道的请一起回答了吧。本人是小气鬼 2个问题发一个帖子。


...全文
230 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wyc_net2004 2005-07-21
  • 打赏
  • 举报
回复
11
lovvver 2005-07-21
  • 打赏
  • 举报
回复
string str = "(a-b)*12+c-d";//与此字符串相对应的是一个数组:3,4,5,6
str = str.Replace("a",a.ToString());
str = str.Replace("b",b.ToString());
str = str.Replace("c",c.ToString());
str = str.Replace("d",d.ToString());

直接替换就可以了。如果参数(变量)不确定,只要找出变量就可以了。

这个问题完全可以在sql server里在select的时候就算出来,用不着出来处理,如果数据量大,放在外面处理和放在里面处理效率会有差别的哦
wyc_net2004 2005-07-21
  • 打赏
  • 举报
回复
有规则了还叫用户自定义公式编辑器么??
是不是正则表达式不能完成我期望的功能啊.
白夜花寒 2005-07-20
  • 打赏
  • 举报
回复
你可以参考

http://dev.csdn.net/article/57/57910.shtm
白夜花寒 2005-07-20
  • 打赏
  • 举报
回复
不管是不是要正则,你首先你的公式你要有你的规律
wyc_net2004 2005-07-20
  • 打赏
  • 举报
回复
我要顶
wyc_net2004 2005-07-19
  • 打赏
  • 举报
回复
完了~~能不能把分给自己????
wyc_net2004 2005-07-19
  • 打赏
  • 举报
回复
不是吧~现在很多数据库开发中客户都要求有个简单的公式编辑器。应该有些人做过这样的项目吧。
谁能给点提示也好啊。

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧