• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >vbs > VBS中InStrRev函数的第三个参数(Start)使用注意事项

VBS中InStrRev函数的第三个参数(Start)使用注意事项

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了instrrev函数,vb instrrev函数,instrrev,vb instrrev,vba instrrev等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

VBS中InStrRev函数使用过不少,但是几乎没有用过第三个参数,今天才发现第三个参数的用法跟我想的不太一样。

文档中是这么描述InStrRev函数的:
返回某字符串在另一个字符串中出现的从结尾计起的位置。

InStrRev(string1, string2[, start[, compare]])
参数

string1
必选项。接受搜索的字符串表达式。
string2
必选项。被搜索的字符串表达式。
Start
可选项。数值表达式,用于设置每次搜索的开始位置。如果省略,则默认值为 -1,表示从最后一个字符的位置开始搜索。如果 start 包含 Null,则出现错误
compare
可选项。在计算子字符串时,指示要使用的比较类型的数值。如果省略,将执行二进制比较。有关数值,请参阅“设置”部分。
</div>

第三个参数用于设置每次搜索的开始位置。如果省略,则默认值为 -1,表示从最后一个字符的位置开始搜索。于是我想当然的认为如果不省略(假设为N),则表示从最后第N个字符的位置开始搜索。至于为什么会有这样的思维定势,可能是文档表述不清,也可能是受到了其他语言的影响。

看一个简单的脚本:

s = http://jb51.net

n = InStrRev(s, "jb51")
WScript.Echo n

n = InStrRev(s, "jb51", 2)
WScript.Echo n
</div>

第一次输出8,这没有问题;而第二次居然输出0,表示没有找到字符串jb51。问题在于第三个参数不是表示从最后第N个字符的位置开始搜索,而是从开始第N个字符开始搜索。

所以InStrRev(s, "jb51", 2)相当于InStrRev(Left(s, 2), "jb51"),当然是搜索不到的。

顺便说一下中文文档里对最后一个参数的描述是错误的:

compare 参数可以有以下值:

vbBinaryCompare 执行二进制比较。

vbDatabaseCompare 执行基于包含在数据库(在此数据库中执行比较)中的信息的比较。

正确的是vbBinaryCompare和vbTextCompare,所以尽量看英文文档,虽然其中的错误也不少。

</div>

您可能想查找下面的文章:

  • VBS中InStrRev函数的第三个参数(Start)使用注意事项
  • VBS教程:函数-InStrRev 函数

相关文章

  • vbs 注册表操作代码(添加删除)
  • 用vbscript得到注册表中是否存在某个值
  • VBS教程:属性-Name 属性
  • Stream、WshShell、WshUrlShortcut对象及Shell.Application的参数与使用
  • 用vbs脚本来关闭 HTML 页面的代码
  • vbs 获取当前目录的实现代码
  • VBS教程:对象-File 对象
  • iisweb.vbs iis网站管理脚本使用介绍
  • vbs/js脚本编程教学(2)
  • VBS 批量读取文件夹内所有的文本到Excel的脚本

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 最新恶意复制型病毒autorun.inf,stNP.VBS,NP.VBS代码简单解析和解决方法
    • 用vbs实现在启动 Windows 资源管理器时打开特定文件夹
    • VBS教程:属性-Drives 属性
    • VBS教程:运算符-Or 运算符
    • vbs 注册表操作类代码
    • 下载文件到本地运行的vbs
    • unpack.vbs
    • VBS教程:正则表达式简介 -优先权顺序
    • VBS教程:运算符-Mod 运算符
    • 将WMI中的DateTime类型转换成VBS时间的函数代码

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有