分享

Excel VBA内置函数—InStrRev函数、InStr 函数

 笔录收藏 2013-07-19

InStrRev函数

语法:InstrRev(stringcheck, stringmatch[, start[, compare]])

说明:返回一个字符串在另一个字符串中出现的位置,从字符串的末尾算起。

InstrRev函数语法有如下命名参数:

部分

描述

stringcheck

必需的。要执行搜索的字符串表达式。

stringmatch

必需的。要搜索的字符串表达式。

start

可选的。数值表达式,设置每次搜索的开始位置。如果忽略,则使用1,它表示从上一个字符位置开始搜索。如果start包含 Null,则产生一个错误。

compare

可选的。数字值,指出在判断子字符串时所使用的比较方法。如果忽略,则执行二进制比较。关于其值,请参阅设置值部分。

设置值

compare参数值如下:

常数

描述

vbUseCompareOption

1

Option Compare语句的设置值来执行比较。

vbBinaryCompare

0

执行二进制比较。

vbTextCompare

1

执行文字比较。

vbDatabaseCompare

2

只用于Microsoft Access。基于您的数据库信息执行比较。

返回值

InStrRev返回值如下:

如果

InStrRev返回

stringcheck 长度为零。

0

stringcheck Null

Null

stringmatch 长度为零

Start

stringmatch Null

Null

stringmatch 没有找到。

0

stringmatch stringcheck 中找到

找到匹配字符串的位置。

start > Len(stringmatch)

0

说明

请注意,InstrRev函数的语法和Instr函数的语法不相同。

———————————————————————————————————————————————————————————

InStr 函数

语法:InStr([start, ]string1, string2[, compare])

说明:返回 Variant (Long),指定一字符串在另一字符串中最先出现的位置。

InStr 函数的语法具有下面的参数

部分

说明

start

可选参数。为数值表达式,设置每次搜索的起点。如果省略,将从第一个字符的位置开始。如果 start 包含 Null,将发生错误。如果指定了 compare 参数,则一定要有 start 参数。

string1

必要参数。接受搜索的字符串表达式

string2

必要参数。被搜索的字符串表达式。

Compare

可选参数。指定字符串比较。如果 compare Null,将发生错误。如果省略 compareOption Compare 的设置将决定比较的类型。指定一个有效的LCID (LocaleID) 以在比较中使用与区域有关的规则。

compare 参数设置为:

常数

描述

vbUseCompareOption

-1

使用Option Compare 语句设置执行一个比较。

vbBinaryCompare

0

执行一个二进制比较。

vbTextCompare

1

执行一个按照原文的比较。

vbDatabaseCompare

2

仅适用于Microsoft Access,执行一个基于数据库中信息的比较。

如果

InStr返回

string1 为零长度

0

string1 Null

Null

string2 为零长度

Start

string2 Null

Null

string2 找不到

0

string1 中找到string2

找到的位置

start > string2

0

说明

InStrB 函数作用于包含在字符串中的字节数据。所以 InStrB 返回的是字节位置,而不是字符位置。

示例:

Sub 查找子串位置()

    str1 = "鹤庆县HQX血吸虫病hqx2388HQX防治站"

    Debug.Print InStrRev(str1, "hqx")

    Debug.Print InStrRev(str1, "hqx", -1)

    Debug.Print InStrRev(str1, "hqx", -1, vbTextCompare)

    Debug.Print InStr(str1, "hqx")

    Debug.Print InStr(7, str1, "hqx")

    Debug.Print InStr(1, str1, "hqx", vbTextCompare)

    Debug.Print InStr(1, str1, "hqx")

End Sub

立即窗口输出

11

11

18

11

11

4

11


 

InStr   In String

InStrRev  In String Reverse(反向)

用instr查找第3个"\":D:\BoChao\DLFS for 2004\NetSet.exe时要知道从第几个字符开始查找;

用InStrRev查找最后一个"\",就简单了

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多