我的天,发现一个VB的Bug?!

ynduanlian 2018-04-03 10:28:30
我想把里面发现的第一个字母B(不区分大小写)删除,上面这么写没错吧?

Private Sub Command1_Click()
Dim StrTmp As String
StrTmp = "【积分网站积分可兑换】今日日本加密货币交易平台er发文称,积分网站ハピタス的积分,可以在B兑换比"
StrTmp = Replace(StrTmp, "B", "", 1, 1, vbTextCompare)
Debug.Print StrTmp
End Sub

但是在VB6中,Debug的结果居然是:
【积分网站积分可兑换】今日日本加密货币交易平台er发文称,积分网站ハピタス的积分,可以在B换比


也就是说,字被替换了!
...全文
405 8 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
of123 2018-04-04
在我这里直接报错:Invalid procedure call or argument。 估计楼主没有打与东方字符有关的服务补丁。 去掉 vbTextCompare 可以运行,结果正确。
  • 打赏
  • 举报
回复
ynduanlian 2018-04-03
不用文本比较怎么实现文本比较同样的效果呢?
  • 打赏
  • 举报
回复
笨狗先飞 2018-04-03
vbTextCompare 参数不要就好了,vbTextCompare好多问题,不是必要情况不要用文本比较。
  • 打赏
  • 举报
回复
赵4老师 2018-04-03
自己用Mid拆开再连接不知道能不能绕过某些日文字符中包含SB的B问题。
  • 打赏
  • 举报
回复
ynduanlian 2018-04-03
Bug真是防不胜防啊,还不知道怎么解决
  • 打赏
  • 举报
回复
舉杯邀明月 2018-04-03
用vbTextCompare比较,把那儿的第2个日文字符删除后就好了。 不过很奇怪,这4个日文字符中,就第2个有影响,另外3个没影响。
  • 打赏
  • 举报
回复
舉杯邀明月 2018-04-03
楼主可以考虑自己写一个“字符串替换函数”来用。
  • 打赏
  • 举报
回复
笨狗先飞 2018-04-03
文本比较主要还是全半角的问题吧,那就多比几次。
  • 打赏
  • 举报
回复
发帖
VB基础类
加入

7607

社区成员

VB 基础类
社区管理员
  • VB基础类社区
申请成为版主
帖子事件
创建了帖子
2018-04-03 10:28
社区公告
暂无公告