我现在遇到一个问题,请教大家: 有个表,专门存储用户定义的计算公式的,从表中取出计算公式后,想对该字符串解析,
如:公式 gs='(1+a1)*0.5/88+a2/78-a3-(a4*5+a5)+10';或者其他的类似的简单运算公式,想将a1,a2,a3,a4,a5这些不是常量的字符剥离出来,有什么比较简单通用的方法么?先谢谢大家!
如:公式 gs='(1+a1)*0.5/88+a2/78-a3-(a4*5+a5)+10';或者其他的类似的简单运算公式,想将a1,a2,a3,a4,a5这些不是常量的字符剥离出来,有什么比较简单通用的方法么?先谢谢大家!
在PLSQL中,
用LENGTH计算出字符长度(也就是个数---一般情况,字符集不同有差异)----这个是我们的循环次数,
然后有个计数器NUM变量从一开始,然后用SUBSTR取每个字符,然后验证他是否是字母,若是另一个变量开始存值,一直到除了字母或者数字的情况这个变量的出的就是第一个变量。
不知道你名不明白....
v_count:=length(str)
for i in 1..v_count loop
v_str:=substr(str,i,1);
if ascii(v_str) >ascii('a') then
if ascii(v_str)<ascii('z') then
v_t:=v_str;
....
end if
end if......
大致伪代码如此,你们在看看又没有简单的方法
那用这样可以啊!
instr(gs, a_)判断有没有常量字符.update tbl set gs = replace(gs,'a_','代替字符') where gs like '%a_%'删除常量字符.