VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
123
返回列表 发新帖
楼主: 6500K

去掉字符串尾巴chr(0)等等的最好的方法,今天又看到了,分享一下

  [复制链接]
发表于 2011-6-22 23:24:40 | 显示全部楼层
查找、替换、分割,instr、replace、split都是对内存中的字符从某位置往后找,既然是这样,我觉得他们的速度都应当是所差无几的。

要是只是去掉字符串末尾的chr(0)那就判断有没有chr(0),有就去掉好了。
要是一个结构体或分解一个字串为多个,且不希望子串中有chr(0)我觉得用哪个一个都是一样的,错误的捕获都不能少。
比如
dim s as string
s="....."
qsw s
qsw2 s
sub Qsw( s as string)
   dim i as long
   do
      i=instr(i,s,chr(0))
      if i<>0 then
          mid(s,i,1)=""
          '或者添加到一个数组中
      end if
   loop while i>?
end sub
dim s2 as variant
function qsw2(s as string)
   if instr(1,s,chr(0))>0 then s2=split(s,chr(0)):qsw=ubound(s2)
end function
回复 支持 反对

使用道具 举报

发表于 2011-6-23 22:02:41 | 显示全部楼层
pathname = ""  时确实会出错,不过前面加个if就完全搞定了
If Len(pathname) Then pathname = Split(pathname, Chr$(0), 2)(0)
回复 支持 反对

使用道具 举报

发表于 2011-7-8 00:02:48 | 显示全部楼层
21楼的方法就不要错误的捕获
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2022-7-3 17:24

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表