想实现delphi的全字匹配函数。
如:select var_d, var_dd, var_d_his from table。将var_d替换成ss,得到结果
select ss, var_dd, var_d_his from table。
现有的StringReplace函数。替换后会变成这样。
select ss, ssd, ss_his from table。
有没有人给个方法,或者把代码贴一下delphi的。。
第一次发贴,但会结贴。有满意的答案立马结贴谢了。
如:select var_d, var_dd, var_d_his from table。将var_d替换成ss,得到结果
select ss, var_dd, var_d_his from table。
现有的StringReplace函数。替换后会变成这样。
select ss, ssd, ss_his from table。
有没有人给个方法,或者把代码贴一下delphi的。。
第一次发贴,但会结贴。有满意的答案立马结贴谢了。
关键是我里面可能有多个var_d。
想实现delphi的全字匹配函数。
如:select var_d, var_dd, var_d_his, var_d from table。将var_d替换成ss,得到结果
select ss, var_dd, var_d_his, ss from table。
现有的StringReplace函数。替换后会变成这样。
select ss, ssd, ss_his, ss from table。
对啊,SQL是自己写的,想怎么控制就怎么控制。
哎,没有想要的答案,我举例是sql,如果不是呢? 有其它方法么? 主要还是如何实现全字匹配。可通用。。
而且不可能只有那两个字符,可能会有+ - * / = 等等。。
判断
P^ in [' ',',','+','-','*'......]
把关键字分离出来,然后替换命中的关键字即可
这个很简单
StringReplace('select var_d, var_dd, var_d_his from table' , ' var_d,' , ' ss,' , []);
这样就可以了
因为你的关键字 前后肯定还有别的字符 比如空格 比如逗号 这些就能不会和别的重复
你要却分一个完整的“var_d”从肉眼来看 你是靠他前后的分割符号来区别的。那么 你在替换的时候把分割符号都带上不会就不重复了?
你举列中var_d的前分割是空格后面是逗号。那么在替换查找的时候 你将“空格var_d逗号”作为检索条件 难道还有重复的?