找回密码
 加入
搜索
查看: 3841|回复: 8

[AU3基础] 文件路径判断!(已解决)

  [复制链接]
发表于 2010-4-6 05:51:06 | 显示全部楼层 |阅读模式
本帖最后由 nmgwddj 于 2010-4-6 06:59 编辑


C:\Program Files\Thunder NetWork\Xmp\bin\Xmp.exe
C:\Program Files\KWMUSIC\KwMusic.exe
C:\Program Files\TweakCube\TweakCube.exe
E:\Au3\天气预报.exe
等等 类似路径。我想得到这些路径的2种信息。
第一种 比如第一个。首先得到文件目录
C:\Program Files\Thunder NetWork\Xmp\bin
然后得到文件名
Xmp.exe

请问如何做到。想到了用正则。但是真的不会用。又看了看30分钟入门。快一个月了 也没入门 自己太笨了。
还想到用StringSplit分隔。但是局限性太大了。

用正则获取到的朋友 请注释下具体参数的意思。我也理解理解

评分

参与人数 1金钱 +10 收起 理由
afan + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2010-4-6 06:11:22 | 显示全部楼层
(.+)\\([^\\]+)$
 楼主| 发表于 2010-4-6 06:59:10 | 显示全部楼层
帅帅。留下一句话就走了
也不给点翻译
好用是好用。 看来得自己理解了
发表于 2010-4-6 11:41:47 | 显示全部楼层
帅帅。留下一句话就走了
也不给点翻译
好用是好用。 看来得自己理解了
nmgwddj 发表于 2010-4-6 06:59


如果只需要一个部分的字符串则可使用StringRegExpReplace();

需要得到多个个部分的字符串,用StringRegExp()。即:
$str = 'C:\Program Files\KWMUSIC\KwMusic.exe'
$sR = StringRegExp($str, '(.+)\\([^\\]+)$', 3)

以上表达式 (.+)\\([^\\]+)$ 的解释: 有两个有效的 () ,及输出两组数据,每组匹配一个字符串。
(.+) 贪婪模式最大匹配1个以上任意字符并输出这一组字符串(保存在数组变量的0号元素,即$sR[0] = 'C:\Program Files\KWMUSIC'),后面跟了个\\,即一直向右匹配,到最后一个\为止。
\\ 转义\符号,及\本身。
([^\\]+) 贪婪模式最大匹配除\以外1个以上的任意字符并输出这一组字符串(保存在数组变量的1号元素,即$sR[1] = 'KwMusic.exe'),直到字符串的结尾(因为后面有个$)。
$ 字符串的结尾。
;以上仅为个人解释。

评分

参与人数 1金钱 +30 贡献 +5 收起 理由
nmgwddj + 30 + 5 非常感谢您的解释。已经明白大概意思。相信 ...

查看全部评分

发表于 2010-4-6 11:44:37 | 显示全部楼层
这东西解释起来比较繁琐,所以一般都不带注释。
发表于 2010-4-6 12:15:35 | 显示全部楼层
本帖最后由 netegg 于 2010-4-6 12:25 编辑

补一下,楼主为什么说有局限
$aArray=stringsplit($path, '\')
$menu= stringtrimright($path, stringlen($aArray[$aArray[0]]) + 1)
$name= StringRight($path, stringlen($aArray[$aArray[0]]))

评分

参与人数 2金钱 +50 贡献 +4 收起 理由
nmgwddj + 30 + 4 这段非常值得学习。思路无极限
afan + 20

查看全部评分

 楼主| 发表于 2010-4-6 12:45:16 | 显示全部楼层
$gcr = GUICtrlRead($Input1)
        $string = StringSplit($gcr, '\')
        For $i = $string[0] To 1 Step -1
                MsgBox(0, '', $string[$i])
                ExitLoop
        Next
哈哈 我是这样写的。比较有意思
总之是没有正则一句话来的省事 呵呵
发表于 2010-4-6 12:47:33 | 显示全部楼层
回复 7# nmgwddj

这个出来应该是一段一段的吧,路径没在一起吧
 楼主| 发表于 2010-4-6 12:52:39 | 显示全部楼层
恩。开始只是为了得到文件名。路径看分开很麻烦 就没分。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-6-10 00:38 , Processed in 0.100812 second(s), 29 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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