中英文字符串搜索(like 或 Instr)

marksmith 2003-05-20 01:15:00
对一包含有中英文的字符串进行搜索(like 或 Instr)
如何使搜索到的中文是 case sensitive 但搜索到的英文是 case insenditive?
...全文
21 点赞 收藏 22
写回复
22 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
koa3000 2003-05-29
koa3000@hotmail.com
回复
marksmith 2003-05-29
boywang(大力水手):

你能寄压缩了的 Project 给我吗:
qwerfvc@yahoo.com
我可把我的压缩了的Project给你寄去(12k)。
回复
boywang 2003-05-29
我的电脑是没出现楼主说的情况啊!
InStr(1, "人和入", "入")=3
Len("人")=1
vb中的字符默认是unicode的。
GB和Big5就是编码的不同吧,都是属于unicode的呀!
回复
blasterboy 2003-05-29
up
回复
marksmith 2003-05-29
koa3000(koa):

寄去了, 谢谢.
回复
marksmith 2003-05-28
有谁能帮我?
我可把压缩了的Project给你寄去(12k)。
回复
marksmith 2003-05-27
试一下Len("人")看你能得到1还是2?
得2就是GB了。
你用的中文Windows98?XP?
回复
koa3000 2003-05-27

VB6 你在那儿选择的采用GB方案?
回复
marksmith 2003-05-27
你别汗了, 我很菜:
GB: 组成中文的一种办法,用两个字符组成一个汉字. 在VB6用这办法, 在网上用UnitCode?(请高手讲解一下.)
比如:
Print Asc(Mid("人", 1, 1)), Asc(Mid("人", 2, 1))
Print Asc(Mid("入", 1, 1)), Asc(Mid("入", 2, 1))
会得到:
200 203
200 235
回复
koa3000 2003-05-26


汗,GB是什么东东?
回复
koa3000 2003-05-23

来这儿坐擂吧。
出现你的情况的,估计为0;
出现我的情况的InStr(1, "人和入", "入", 1)=3 ,估计100%

hiahia
回复
marksmith 2003-05-23
>确认一下,人 是 人民的人? 入 是进入的入?
是的.

>这边没有出现你的情况
那俺也糊涂了,试过InStr(1, "人和入", "入", 1)?
有谁愿意试一下我的试验程序,留下Email.
回复
marksmith 2003-05-23
koa3000(koa):

Hahaha,坐擂,有意思~~~
你的情况 InStr(1, "人和入", "入", 1)=3 估计?试过?
如果试过,请注意,在GB,Len("人和入")=6, 你用的是GB吗?
回复
qingming81 2003-05-22
这个问题倒是很新鲜啊!“人”可查“入”,为什么“人”就不可查“大”“夫”“天”呢,难道一人可入,二人三人就完了?
回复
koa3000 2003-05-22

汗~~~~ “人“和”入"一个是大写一个小写…………确实没听说过。
确认一下,人 是 人民的人? 入 是进入的入?
那俺就糊涂了。
这边没有出现你的情况。
回复
koa3000 2003-05-21

楼上的意思是,"人和入" 近似,所以用 人 来查, 入 也可以得到?
这个比较夸张了点。

要么你做一个转换,当用人来查时 ,你查两次,
int1=InStr(1, "人和入", "入", 1)
int2=InStr(1, "人和入", "人", 1)
if int1<1 then
Print int2
else int2<1 then
Print int1
else
Print iif(int1>int2,int2,int1)
endif
回复
marksmith 2003-05-21
人“和”入"一个是大写一个小写! 没听过?看看组成“人“和”入"的字符你就明白为什么我要这样说啦。
看来你们都没有试过,InStr(1, "人和入", "入", 1) (或 Like) 能由"入"查到"人"! "因为" InStr(1, "人和入", "入", 1) 是 case insensitive. 改为 InStr(1, "人和入", "入", 0)就没有这样的问题。
我不希望得到这样的结果,我要搜索到的中文是 case sensitive,但同时我又希望但搜索到的英文是 case insenditive, 所以来问你们。
回复
marksmith 2003-05-21
Print InStr(1, "人和入", "入", 1) 得 1。 要又GB, 被要 copy 我的。
回复
marksmith 2003-05-21
Private Sub Command1_Click()
Print InStr(1, "È˺ÍÈë", "Èë", 1)
Print Left("ÈË", 1), Right("ÈË", 1)
Print Left("Èë", 1), Right("Èë", 1)
End Sub
回复
marksmith 2003-05-21
查"人"查到"入"!!!!!!!!!!
回复
加载更多回复
相关推荐
发帖
VB基础类
创建于2007-09-28

7491

社区成员

VB 基础类
申请成为版主
帖子事件
创建了帖子
2003-05-20 01:15
社区公告
暂无公告