回 帖 发 新 帖 刷新版面

主题:怎么才能得得文件名?

比如:
 C:\Documents and Settings\Administrator\桌面\2007.jpg
我现在想要得到:2007.jpg
这怎么实现呢?谁能帮一下,先谢谢了!

回复列表 (共14个回复)

沙发

使用split来获取

板凳

[quote]使用split来获取[/quote]

是的,用split进行分割后取出最后的字符串

例如
dim filepath as string
filepath="C:\Documents and Settings\Administrator\桌面\2007.jpg"

dim fileStringArray() as string
dim fileName as string
fileStringArray=strings.split(filepath,"\")
fileName = fileStringArray(ubound(fileStringArray))

那么fileName 保存的就是你需要的文件名。

3 楼

楼上,不是我总找你的问题..
这里是ASP的版,你用的什么语言?
vb.net吗?
vb.net只需要:
Dim strFilePath As String
Dim strFileName As String
strFilePath = "C:\Documents and Settings\Administrator\桌面\2007.jpg"
strFileName = System.IO.Path.GetFileName(strFilePath)
就可以取到文件名了..


ASP 纠正点语法错误:
dim filepath
filepath="C:\Documents and Settings\Administrator\桌面\2007.jpg"

dim fileStringArray
dim fileName
fileStringArray=split(filepath,"\")
fileName = fileStringArray(ubound(fileStringArray))

4 楼


借鉴一下!

5 楼

有答案了,这样也可了的,我用的就是这个.
  intSpl=instr(StrReverse(request.Form("file1")),"\")                 '最后一个"\"号,右数的位置   
  filename=right(request.Form("file1"),intSpl-1)

6 楼

虽然同样可以实现..

但刘裕杭州回答的我修正语法的那种方法思想比这个好..

7 楼


谢谢大家了!

8 楼

    如果你去查一下vbAPI会知道split是strings下的一个函数,虽然VB给我们提供了方便可以直接使用split当全局函数使用,但这样的程序不严密。比如:曾经我做过的Access VBA的项目,没有使用strings.split,而是直接使用split函数,最后程序就是不能运行,所以,为了程序的健壮性,最好加上Strings。
    对于定义变量,对于一个做过一些项目的人都会在定义变量时知名类型,这样有助于后面程序的严密,减少难于检查的错误出现。但这不是不需用,在有的情况下只能用模糊类型的变量,比如我们需要用一个函数返回文件对话框返回的文件名,如果文件不存在,返回假值,那么函数就是一定情况下返回字符串,一定情况下返回boolean型,所以得到函数值的参数就要定义模糊变量(这只是其中一种方法,还有其他好多种方法,不妨大家可以去想想。)。所以呀我写这段程序是根据以前的经验来考虑的。
    至于

  intSpl=instr(StrReverse(request.Form("file1")),"\")                 '最后一个"\"号,右数的位置   
  filename=right(request.Form("file1"),intSpl-1)

这段程序运行的时间复杂度稍微大了一点(可以参考CPU的运行周期说明),并且right应该写成Strings.right,instr写成Strings.instr,也应该因为它们也是Strings下的函数。

9 楼

变量前缀是最基础的东西..

呵呵..还vbAPI,里查split是Strings下的一个函数呢..

我说的是实际问题,那段程序实际在.asp文件,IIS环境下是运行不起来的
你自己动手试试就行了..

不要跟我讲你懂什么API,我用vb+api做过游戏和外挂的..

你说的Strings.split就是面向对象

10 楼

还有.
8楼的朋友,
你也不用再拿你的理论出来和我讲了..
只要帮楼主解决了问题就行了.
我语言组织没你强,我到初三就没上了.
但是,不是只有你才懂理论的..

我来回复

您尚未登录,请登录后再回复。点此登录或注册