VB InStr函数

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

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

语法

InStr([start, ]string1string2[,compare])

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

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

设置

 compare 参数设置为:

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

返回值

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

说明

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

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

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

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

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

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

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

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

   InStr([start, ]string1, string2[, 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中输入要查找的字符串,单击 “查找”按钮和“查找下一个”按钮进行验证。

转载于:https://www.cnblogs.com/googolmao/archive/2009/04/26/1444179.html

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值