找回密码
 加入
搜索
楼主: nikbobo

[系统综合] [已解决]StringSplit 如何得到最后一个拆分的字符串?

 火.. [复制链接]
发表于 2013-8-25 14:32:06 | 显示全部楼层
回复 6# nikbobo
终于明白了
if $var='' or not(stringinstr($var, '\') or not(_WinAPI_PathFindExtension($var)) then msgbox(0,0,'')
发表于 2013-8-25 14:40:57 | 显示全部楼层
回复  nikbobo
终于明白了
if $var='' or not(stringinstr($var, '\') or not(_WinAPI_PathFindExtensio ...
netegg 发表于 2013-8-25 14:32



    你还真热心…
发表于 2013-8-25 15:10:33 | 显示全部楼层
#include <File.au3>
Local $szPath, $szDrive, $szDir, $szFName, $szExt
$szPath = "C:\Windows\Explorer.exe"
_PathSplit($szPath, $szDrive, $szDir, $szFName, $szExt)
ConsoleWrite("-FileName>" & $szFName & @CRLF)
$szPath = "C:\Windows"
_PathSplit($szPath, $szDrive, $szDir, $szFName, $szExt)
ConsoleWrite("-FileName>" & $szFName & @CRLF)
$szPath = "Explorer.exe"
_PathSplit($szPath, $szDrive, $szDir, $szFName, $szExt)
ConsoleWrite("-FileName>" & $szFName & @CRLF)
$szPath = ""
_PathSplit($szPath, $szDrive, $szDir, $szFName, $szExt)
ConsoleWrite("-FileName>" & $szFName & @CRLF)
Exit
发表于 2013-8-25 15:16:15 | 显示全部楼层
3、假如$Var = "C:\Windows",这样拆分出来的是Windows,而不是我想要的xx.exe,怎么办?
$Var沒包含xx.exe怎麼會有xx.exe的結果

4、也许$Var两侧包含英文双引号或英文单引号,怎么办?(如何先去除这些,必须先去除)
$szPath = StringRegExpReplace($szPath, "\A[""']|[""']\Z", '')
 楼主| 发表于 2013-8-25 16:28:30 | 显示全部楼层
回复 16# netegg

不好意思,我想多了,其实关键的你已经给出来了。
其实只要用_WinAPI_PathIsExe ( $sPath )就行了,汗!
但是,有一个问题,有人说AutoIt3的WinApi部分函数在PE下会失效,这些不会吧?
 楼主| 发表于 2013-8-25 16:29:46 | 显示全部楼层
回复 20# Duvet


    感谢你对第四个问题的解答。
发表于 2013-8-25 21:17:29 | 显示全部楼层
本帖最后由 netegg 于 2013-8-25 21:19 编辑

not(_WinAPI_PathFindExtension($var)) 改成not(stringinstr($var, '.'))
或者not(stringright($var,4)<>'.exe')
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-28 21:21 , Processed in 0.083426 second(s), 13 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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