VB InStr函数


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

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

语法

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

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

部分 说明
start 可选参数。为数值表达式,设置每次搜索的起点。如果省略,将从第一个字符的位置开始。如果start包含 Null,将发生错误。如果指定了compare参数,则一定要有start参数。
string1 必要参数。接受搜索的字符串表达式。
string2 必要参数。被搜索的字符串表达式。
Compare 可选参数。指定字符串比较。如果compare是 Null,将发生错误。如果省略compareOptionCompare的设置将决定比较的类型。

设置

compare参数设置为:

常数 描述
vbUseCompareOption -1 使用Option Compare语句设置执行一个比较。
vbBinaryCompare 0 执行一个二进制比较。
vbTextCompare 1 执行一个按照原文的比较。
vbDatabaseCompare 2 仅适用于Microsoft Access,执行一个基于数据库中信息的比较。

返回值

如果 InStr返回
string1为零长度 0
string1Null Null
string2为零长度 Start
string2Null Null
string2找不到 0
在 string1中找到string2 找到的位置
start>string2 0

说明

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

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

VB中如何实现文本查找功能

  实现查找功能的关键在于使用InStr函数,这个函数可以找到指定的字符串在另一字符串中最先出现的位置。我们先来看一看使用这个函数的语法:

   InStr([start,compare])

  这个函数需要的的参数是起始位置、主体字符串、要查找的字符串;Compare是

VB中如何实现文本查找功能   实现查找功能的关键在于使用InStr函数,这个函数可以找到指定的字符串在另一字符串中最先出现的位置。我们先来看一看使用这个函数的语法:    InStr([start,compare])   这个函数需要的的参数是起始位置、主体字符串、要查找的字符串;Compare是可选参数。指定字符串比较。此compare参数是可以省略的,也可以是 0,1或 2。指定0(缺省)做二进制比较。指定1做不区分大小写的文本比较。例如我们要查找在字符串“abcdefg”中是否存在“cd”并返回其位置,则使用下面的语句就可以实现:    pos=InStr(1,"abcdefg","cd")   则pos会返回3表示查找到并且位置为第三个字符开始。这就是“查找”的实现,而“查找下一个”功能的实现就是把当前位置作为起始位置继续查找。   下面举例说明:   放置一个文本框TEXT1供用户输入文本或调入文本文件,用来做在其中查找文本的验证,放置另一个文本框TEXT2供用户输入要查找的字符串,放置两个命令按钮,Command1、Command2,其标题分别为“查找”、“查找下一个”。   在窗体的总体声明部分写如下代码 :    Option Explicit ’定义目标位置变量    Private TargetPosition As Integer     ’编写一个查找函数    Private Sub FindText(ByVal start_at As Integer)    Dim pos As Integer    Dim target As String    ’获取用户输入的要查找的字符串    target = text2.Text    pos = InStr(start_at,text1.Text,target)    If pos > 0 Then       ’找到了匹配字符串       TargetPosition = pos       text1.SelStart = TargetPosition - 1       ’选中找到的字符串       text1.SelLength = Len(target)       text1.SetFocus    Else ’没有找到匹配的字符串    MsgBox "没找到!"    text1.SetFocus    End If    End Sub    ’双击“查找”命令按钮:    Private Sub command1_Click() ’从第一个字符处开始查找    FindText 1    End Sub    ’双击“查找下一个”按钮:    Private Sub command2_Click() ’从当前位置继续查找    FindText TargetPosition + 1    End Sub   运行程序,在文本框1中输入一些字符串,在文本框2中输入要查找的字符串,单击 “查找”按钮和“查找下一个”按钮进行验证。

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...