文件路径判断!(已解决)
本帖最后由 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分隔。但是局限性太大了。
用正则获取到的朋友 请注释下具体参数的意思。我也理解理解:face (30): (.+)\\([^\\]+)$ 帅帅。留下一句话就走了:face (30):
也不给点翻译:face (22):
好用是好用。 看来得自己理解了 帅帅。留下一句话就走了
也不给点翻译
好用是好用。 看来得自己理解了
nmgwddj 发表于 2010-4-6 06:59 http://www.autoitx.com/images/common/back.gif
如果只需要一个部分的字符串则可使用StringRegExpReplace();
需要得到多个个部分的字符串,用StringRegExp()。即:
$str = 'C:\Program Files\KWMUSIC\KwMusic.exe'
$sR = StringRegExp($str, '(.+)\\([^\\]+)$', 3)
以上表达式 (.+)\\([^\\]+)$ 的解释: 有两个有效的 () ,及输出两组数据,每组匹配一个字符串。
(.+) 贪婪模式最大匹配1个以上任意字符并输出这一组字符串(保存在数组变量的0号元素,即$sR = 'C:\Program Files\KWMUSIC'),后面跟了个\\,即一直向右匹配,到最后一个\为止。
\\ 转义\符号,及\本身。
([^\\]+) 贪婪模式最大匹配除\以外1个以上的任意字符并输出这一组字符串(保存在数组变量的1号元素,即$sR = 'KwMusic.exe'),直到字符串的结尾(因为后面有个$)。
$ 字符串的结尾。
;以上仅为个人解释。 这东西解释起来比较繁琐,所以一般都不带注释。 本帖最后由 netegg 于 2010-4-6 12:25 编辑
补一下,楼主为什么说有局限
$aArray=stringsplit($path, '\')
$menu= stringtrimright($path, stringlen($aArray[$aArray]) + 1)
$name= StringRight($path, stringlen($aArray[$aArray])) $gcr = GUICtrlRead($Input1)
$string = StringSplit($gcr, '\')
For $i = $string To 1 Step -1
MsgBox(0, '', $string[$i])
ExitLoop
Next哈哈 我是这样写的。比较有意思
总之是没有正则一句话来的省事 呵呵 回复 7# nmgwddj
这个出来应该是一段一段的吧,路径没在一起吧 恩。开始只是为了得到文件名。路径看分开很麻烦 就没分。
页:
[1]