当前位置:软件学习 > 其它软件 >>

请教两个数组中去掉相同的字符串

现有A和B两个数组,A和B中有相同的字符串,通过哪个函数能把两个数组相减,去掉相同项,得到一个新的C数组. --------------------编程问答-------------------- 最原始的需求是什么?你的需求太复杂了,而且实际上没有必要,这样写代码会死人的。 --------------------编程问答-------------------- A:="A":"B":"C";
B:="A1":"B":"D";
temp:="";
poets:=@Unique(A:B);
@For(
n:=1;n<=@Elements(poets);n:=n+1;
temp:=@If(
@IsMember(poets[n];A)&@IsMember(poets[n];B);temp;temp:poets[n]
)
);
@Trim(temp) --------------------编程问答-------------------- 如果不保留空字符数项的话可以使用@Trim(@replace(a;b;"")) or fulltrim(arrayreplace(a,b,"")) --------------------编程问答-------------------- 楼上的这种方法对头,ok的 --------------------编程问答-------------------- 与其从算法上解决,不如在设计时避免出现此类情况,如果数组大了,效率会非常低。 --------------------编程问答-------------------- dim c as Variant
c=split("")
c=arrayappend(c,A)
c=arrayappend(c,B)
c=FullTrim(arrayunique(c)) --------------------编程问答--------------------
引用 6 楼 yangsiji 的回复:
dim c as Variant
c=split("")
c=arrayappend(c,A)
c=arrayappend(c,B)
c=FullTrim(arrayunique(c))


修改为:
dim c as Variant
dim d as Variant
c=split("")
c=arrayappend(c,A)
c=arrayappend(c,B)
d=FullTrim(arrayunique(d))
c=FullTrim(arrayreplace(d,A,""))
c=arrayappend(c,FullTrim(arrayreplace(d,B,"")))


--------------------编程问答--------------------
引用 7 楼 yangsiji 的回复:
其中第六行的代码:
d=FullTrim(arrayunique(d))

应为:
d=FullTrim(arrayunique(c)) --------------------编程问答-------------------- 用Replace,方便实用
补充:企业软件 ,  Lotus
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,