以文本方式查看主题

-  易表在线答疑  (http://egrid2000.com/dvbbs/index.asp)
--  用户社区  (http://egrid2000.com/dvbbs/list.asp?boardid=2)
----  合并字符串题目  (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=6564)

--  作者:tyeb
--  发布时间:2007/2/14 11:05:00
--  合并字符串题目
为活跃论坛气氛,出个题目:有两字符串:
1、A|B|C,
2、1|2|3
要求合并为:A@1|B@2|C@3

--  作者:Tyeb
--  发布时间:2007/2/14 13:04:00
--  
又如:
1、A|B,
2、1|2
合并为:A@1&B@1|A@2&B@2


--  作者:gdlgh
--  发布时间:2007/2/14 13:59:00
--  
呵。晚辈还是用变量赋值来实现!
1楼:
if(SetVariable("%a%",0) And SetVariable("%b%","") And eval(mid(rept(" and SetVariable(""%b%"",[%b%]+""|""+mid(""A|B|C|D|E|F|G"",[%a%],1)+""@""+mid(""1|2|3|4|5|6|7"",[%a%],1)) And SetVariable(""%a%"",[%a%]+2)",7),5)),mid([%b%],1),[%b%])

2楼:
if(SetVariable("%a%",0) And SetVariable("%b%","") And eval(mid(rept(" and SetVariable(""%b%"",[%b%]+""|""+Substitute(""A|B|C|D|E|F|G|"",""|"",""@""+text(mid(""1|2|3|4|5|6|7"",[%a%],1))+""&"")) And SetVariable(""%a%"",[%a%]+2)",7),5)),Substitute(mid([%b%],1)+" ","& ",""),[%b%])


--  作者:bad
--  发布时间:2007/2/14 15:35:00
--  
我最怕用很长的公式,所以用表来转换一下:

启动时可按CTRL跳过预处理公式。egd文件下载


--  作者:tyeb
--  发布时间:2007/2/14 16:20:00
--  
呵呵,1,2楼的例子里的“A|B|C"和"1|2|3"代表两组字符串的"|"是一样的,但这里的Len("A")未必等于Len("1")。
--  作者:gdlgh
--  发布时间:2007/2/14 17:04:00
--  
呵。具体情况具体分析嘛!
上面我只用一个数值变量,是针对上面的问题,若不同的数值可用两个或多个数值变量来实现。
个人认为使用变量值得推广的,因为方便简单,速度又跟得上去,最主要是十分灵活。