注册 登录
编程论坛 VB6论坛

字符串提取文件名

沉默的痞子 发布于 2018-10-24 09:30, 1571 次点击
如"
C:\1.txt c:\2.txt "c:\3 4.txt"
"
这种字符串怎么提取文件名?  就是文件名之前是用空格分开,文件名中有空格的,加引号,如何提取?给个思路?
5 回复
#2
wds12018-10-24 11:20
TXT1内容为:C:\1.txt c:\2.txt "c:\3 4.txt"
temp=split(txt1,"C:\")
for i= 0 to ubound(temp)
  temp(i)="c:\" & trim(temp(i))     '去除两边空格
  temp(i)=replace(temp(i),chr(34),"") '去除"
next



[此贴子已经被作者于2018-10-24 11:23编辑过]

#3
沉默的痞子2018-10-24 15:35
回复 2楼 wds1
谢谢,真的可以

[此贴子已经被作者于2018-10-24 15:37编辑过]

#4
沉默的痞子2018-10-24 15:38
回复 2楼 wds1
如果不是在同一个磁盘呢?
#5
yingshu2018-10-24 16:25
    i = Len(Trim(Text1.Text))
    s2 = i
    Do Until s1 = InStr(5, Text1.Text, ":\")
    s1 = InStrRev(Text1.Text, ":\", s2)
    i = s1 - 2
     Text2.Text = Text2.Text + Chr(13) + Chr(10) + Mid(Text1.Text, i, s2 - i)
    s2 = i
   Loop
    Text2.Text = Text2.Text + Chr(13) + Chr(10) + Left(Text1.Text, i)



[此贴子已经被作者于2018-10-25 00:21编辑过]

#6
wds12018-10-24 19:02
TXT1内容为:C:\1.txt d:\2.txt "c:\3 4.txt"

  Do Until Len(txt1) = 0
    n = IIf(InStr(3, txt1, ":") = 0, Len(txt1), InStr(3, txt1, ":") - 2)'定位第二个:,如果不存在就是最后一个’
    Debug.Print Replace(Mid(txt1, 1, n), Chr(34), "")'打印第n个文件名
    txt1 = Right(txt1, Len(txt1) - n)'截取剩余字符串
  Loop
1