返回一个 Variant (Long) 值,指定一个字符串在另一个字符串中首次出现的位置。

请参阅一些示例

语法

InStr ([start, ] string1, string2 [, compare ] )

InStr函数语法具有以下参数:

参数

说明

开始

可选。 用于设置每个搜索的起始位置的数字表达式。 如果省略,则搜索将从第一个字符的位置开始。 如果 start 包含 Null,则发生错误。 如果 指定了 compare,则 start 参数 是必需的。

string1

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

string2

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

compare

可选。 指定属性 字符串比较 。 如果 compare 为 Null,则发生错误。 如果 省略" 比较 ","选项比较 "设置将确定比较类型。 指定有效的 LCID (LocaleID) ,以在比较中使用特定于区域设置的规则。

提示:  在 Access 2010 中,表达式生成器IntelliSense,因此可以看到表达式需要哪些参数。 

设置

比较 参数 设置包括:

常数

说明

vbUseCompareOption

来执行此操作

使用 Option Compare 语句的设置 执行比较

vbBinaryCompare

0

执行二进制比较。

vbTextCompare

1

执行文本比较。

vbDatabaseCompare

2

Microsoft Office Access 2007 。 根据数据库中的信息执行比较。


返回值

If

InStr 返回

string1 为零长度

0

string1 为 Null

Null

string2 为零长度

开始

string2 为 Null

Null

找不到 string2

0

string2 位于 string1 中

找到匹配项的位置

start > string2

0


备注

InStrB函数与字符串中包含的字节数据一起使用。 InStrB返回字节位置,而不是返回另一个字符串中第一个字符串出现的字符位置。

示例

在表达式中使用 InStr 函数    可以在任何可以使用表达式的地方使用InStr。 例如,如果要查找第一个周期 (。) IP 地址的字段中 (名为 IPAddress) ,可以使用 InStr 找到它,如下所示:

InStr (1,[IPAddress],"。")

InStr函数检查 IPAddress 字段中的每个值,并返回第一个周期的位置。 因此,如果 IP 地址的第一部分为 10。,该函数返回值 3。

然后,可以使用其他函数(针对 InStr 函数的输出操作)提取第一个周期之前 IP 地址的部分,如下所示:

左 ([IPAddress], (InStr (1,[IPAddress],"。") -1) )

此示例中 ,InStr (1,[IPAddress],"。") 返回第一个周期的位置。 减 1 可确定第一个周期之前的字符数,在这种情况下为 2。 然后 ,Left 函数从 IPAddress 字段左侧提取多个字符,并返回值 10。

在 VBA 代码中使用InStr    

注意: 以下示例演示了在 VBA Visual Basic for Applications (模块) 函数。 有关使用 VBA 的信息,请在"搜索"旁边的下拉列表中选择"开发人员参考",在搜索框中输入一个或多个术语。

此示例使用 InStr 函数返回一个字符串在另一个字符串中第一次出现的位置。

Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP" ' String to search in.
SearchChar = "P" ' Search for "P".
' A textual comparison starting at position 4. Returns 6.
MyPos = Instr(4, SearchString, SearchChar, 1)
' A binary comparison starting at position 1. Returns 9.
MyPos = Instr(1, SearchString, SearchChar, 0)
' Comparison is binary by default
' (last argument is omitted).
MyPos = Instr(SearchString, SearchChar) ' Returns 9.
MyPos = Instr(1, SearchString, "W") ' Returns 0.

字符串函数以及如何使用它们

需要更多帮助?

扩展你的技能
了解培训
抢先获得新功能
加入 Microsoft 内部人员

此信息是否有帮助?

你对翻译质量的满意程度如何?
哪些因素影响了你的体验?

谢谢您的反馈意见!

×