| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 15888 人关注过本帖
标题:VB之巧截字符串(探讨用InStrRev函数配合Right/Left函数截取字符串)
只看楼主 加入收藏
sznt
Rank: 2
等 级:论坛游民
帖 子:161
专家分:20
注 册:2005-8-4
结帖率:66.67%
收藏
 问题点数:0 回复次数:4 
VB之巧截字符串(探讨用InStrRev函数配合Right/Left函数截取字符串)
VB的Right函数、Left函数提供了从左或从右在已知字符串中截取指定数量的未知字符串的功能,不过要获取某个特定字符前面或者后面的字符串,情形就不一样了,比如我们要在字符串"E:\MyFavourite\001\xxx.xxx"中截取最后一个"\"后面的字符串亦即文件名,单单用上述几个函数是难以实现的,因为文件名的字节数难以确定。这时函数InStrRev就派上用场了。InStrRev返回一个字符串在另一个字符串出现的位置,充分利用它可以轻而易举地截取所要的内容。
下面举个实例来加以说明,希望大家可以从中得到启示。本例仅需要一个TextBox控件。

Private Sub Form_Load()
'声明已知字符串的字节数、"\"所在位置的变量
Dim n As Integer, m As Integer
'声明字符串变量
Dim i As String, j As String
j = "E:\Music\MyFavourite\001\Spring.mp3" '已知字符串初值
i = "\" '要查找的指定字符
For n = 1 To Len(j) '这里用了Len函数来计算已知字符串的字节数
m = InStrRev(j, i, -1) '"\"所在的位置(其中的-1是默认的)
Next n
'显示最后一个"\"后面的字符串
Text1.Text = Right(j, Len(j) - m)
End Sub

运行程序,文本框中的是不是明明白白地躺着"Spring.mp3"?试着改一改j变量,得到的结果是不是预期的?
搜索更多相关主题的帖子: Left函数 字符 InStrRev Right 
2008-04-29 19:51
hxfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:5810
专家分:118
注 册:2005-4-7
收藏
得分:0 
split(path,"\")(ubound(split(path,"\")))

2008-04-29 21:31
slore
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:1108
专家分:0
注 册:2005-7-1
收藏
得分:0 
Dim i As String, j As String
j = "E:\Music\MyFavourite\001\Spring.mp3" '已知字符串初值
i = "\" '要查找的指定字符


'你是不是搞的复杂化了?
Print Right(j, Len(j) - InstrRev(j, i))

快上课了……
2008-04-30 02:10
sznt
Rank: 2
等 级:论坛游民
帖 子:161
专家分:20
注 册:2005-8-4
收藏
得分:0 
多谢指教,冰山一角,抛砖引玉,多谢。
2008-05-01 21:26
dwh2005
Rank: 1
等 级:新手上路
帖 子:18
专家分:7
注 册:2008-3-1
收藏
得分:0 
学习一下.
2008-05-11 16:46
快速回复:VB之巧截字符串(探讨用InStrRev函数配合Right/Left函数截取字符串)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014375 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved