找回密码
 加入
搜索
查看: 4699|回复: 4

[AU3基础] 【已解决】求个正则语句,获取文件路径中的文件名称。

[复制链接]
发表于 2014-7-14 20:46:40 | 显示全部楼层 |阅读模式
本帖最后由 fybhwsx 于 2014-7-14 23:31 编辑

D:\lk\Autoit_vcs\vsc598_x64_portable.zip
D:\lk\Autoit_vcs\vsc768_x64_portable.zip

怎样获取
vsc598_x64_portable

vsc768_x64_portable

用正则获取文件名呢?
发表于 2014-7-14 21:04:28 | 显示全部楼层
回复 1# fybhwsx
有点冗长,但能用.
久不玩, 超不自信矣!
Local $sStr = 'D:\lk\Autoit_vcs\vsc768_x64_portable.zip'
If StringRegExp($sStr, '.+\\.+\.\w{3}') = 1 Then           
        MsgBox(0,0,StringRegExpReplace($sStr, '.+\\([^\.\\]+)\..+', '\1'))
Else
        MsgBox(0,'请检查此路径', $sStr)
EndIf
 楼主| 发表于 2014-7-14 21:10:24 | 显示全部楼层
回复  fybhwsx
有点冗长,但能用.
久不玩, 超不自信矣!
user3000 发表于 2014-7-14 21:04



    好用,谢谢!
发表于 2014-7-14 22:54:48 | 显示全部楼层
本帖最后由 lpxx 于 2014-7-14 22:57 编辑
#include <Array.au3>
Local $Str = _
                'D:\lk\Autoit_vcs\vsc598_x64_portable.zip' & @CRLF & _
                'D:\lk\Autoit_vcs\vsc768_x64_portable.zip' & @CRLF
MsgBox(0, '原字符串', $Str)
Local $Test = StringRegExp($str, '(?:^.*)\\(.*)', 3, 1)
If Not @Error Then MsgBox(0, '匹配数量: ' & UBound($Test), '其中[0]元素为: ' & $Test[0])
_ArrayDisplay($Test, UBound($Test))
 楼主| 发表于 2014-7-14 23:31:18 | 显示全部楼层
本帖最后由 fybhwsx 于 2014-7-14 23:35 编辑
lpxx 发表于 2014-7-14 22:54



    谢谢,又一个新写法,不过好像有些问题哦。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-28 06:19 , Processed in 0.093043 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表