vb.net过滤掉数组中相同的字符的元素?

"100#200#0"
"200#120#0"
"100#560#0"
"200#780#0"
"100#320#0"
"300#980#0"
"400#220#0"
"100#290#0"
"500#400#0"
"600#450#0"
我有个数组(如上),我想把每个元素第一个#前面相同的数字的元素过滤掉,
最终得到
"100#200#0"
"200#120#0"
"300#980#0"
"400#220#0"
"500#400#0"
"600#450#0"

有人能帮帮我吗!

2个回答

#include
#include
bool compare(char *a,char *b){
int i=0;
while(a[i]!='#'){
if(a[i]!=b[i]){
return false;
}
i++;
}
return true;
}
void mcopy(char *a,char *b){
int i=0;
while(b[i]||a[i]){
a[i]=b[i];
i++;
}
}
int main()
{
char start[12][12]={"100#200#0","200#120#0","100#560#0","200#780#0","100#320#0","300#980#0","400#220#0","100#290#0","500#400#0","600#450#0"};
char result[12][12];
int i=0,j=0,k=0;
for(k=0;k<10;k++){
j=0;
while(j<i){
if(compare(start[k],result[j]))
break;
j++;
}
if(j==i){
mcopy(result[i++],start[k]);
}
}
for(k=0;k<i;k++){
printf("%s\n",result[k]);
}
}
//不会VB,写了个C语言版的,拿去自己改改

假设你这些数据在一个文本框里

这么写
textBox1.Text = String.Join(VbCrLf, textBox1.Lines.Distinct())

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问