发布网友 发布时间:2022-04-23 22:00
共3个回答
热心网友 时间:2023-10-11 07:25
InStrRev()函数:
例如:Filepath = "ab2dfr12def"
则InStrRev(Filepath,"2")返回8
即:在字符串Filepath里,从右开始搜索子字符串"2"的位置,注意这个位置是从字符串Filepath里左起计算的.
VB还有一个函数与InStrRev对应,即:InStr
InStr函数是从主字符串的左边开始搜索子字符串,而InStrRev是从主字符串的右边开始搜索子字符串,所以上面的例子里尽管主串里有2个"2",如果用Instr搜索返回的是3.
left()函数是取左子串,例如:
left("ABCD",2),结果返回"AB".即取出主串左边的若干个字符.
现在看你的例子,假设:
Filepath = "C:\WINDOWS\system32"
那么:InStrRev(Filepath, "\")将返回 11
InStrRev(Filepath, "\") - 1就是10
Left(Filepath, InStrRev(Filepath, "\") - 1),返回的是"C:\WINDOWS"
即;
strPath = Left(Filepath, InStrRev(Filepath, "\") - 1)结果是:
strPath里存放:"C:\WINDOWS"
热心网友 时间:2023-10-11 07:25
拆开来看,
InStrRev(Filepath, "\") 意思是查找"\"这个字符最后出现在Filepath字符串中的位置(最后出现在第几个字符)
Left(Filepath, InStrRev(Filepath, "\") - 1)意思是对于Filepath这个字串,从左侧第一位开始,截取前InStrRev(Filepath, "\") - 1个字符。
热心网友 时间:2023-10-11 07:26
同意楼上。