在程序里传进来了一个完整的地址,而我只想要最后的文件名,应该怎样把前面不需要的部分去掉呢?例如E:\cim\main\test.asp 只取test.asp这部分。
解决方案 »
- 做了一个计算机,但是只可以以鼠标点击数字输入,不可以以键盘输入,应该怎么解决?
- 居然这样的帖子被删!!【软件测试讨论!!软件测试讨论!!软件测试讨论!!软件测试讨论!!】
- 求~~VB编写的ZIP格式压缩和解压缩程序源码!!
- 在WIN2000的个人版上,装sql的哪个版本
- 关于数据库查询的问题,请指教。急!(在线等)
- 在一个新建的EXE中,引用我自己的ActiveX DLL文件后,出现错误,代码和错误信息如下:
- 请问:代码里怎么样实现VB DataEnvionment里的命令子命令的连接?
- 谁做过mshflexgrid能展开和收缩的案例,跪求!!!
- vsflexgrid 控制某一单元格的位置--在线等
- 急!急!请问哪位高手有一个关于vb与rs232串行通讯的小程序?
- 请问在PICTUREBOX中作图时,如何把默认的原点坐标从左上角转换到左下角?
- 高手请帮帮忙!急需啊<谢谢!!
MsgBox Right(s, Len(s) - InStrRev(s, "\"))
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变量,得到的结果是不是预期的?
s = Split("E:\cim\main\test.asp", "\")(UBound(Split("E:\cim\main\test.asp", "\")))
MsgBox s