关于“查找”与“替换”的功能实现。希望各高手给予帮助,方法越精简越好。最好是调用API来实现。

解决方案 »

  1.   

    查找可以用instr函数
    替换可以用replace函数
    犯不着API
      

  2.   

    查找可以用instr
    replace替换
    这个很简单了
      

  3.   

    可以调用系统的查找替换对话框,不过这个需要回调,麻烦了一些
    也可以用sendmessage发送响应的消息实现,具体发什么消息,控件不同,对应的消息也有区别
    也可以用instr、replace实现,相比之下,这个效率最低,特别是在数据量很大的时候
      

  4.   

    简单的替换实验
    FORM1 一个command1和一个text1
    代码
    Option ExplicitPrivate Sub Command1_Click()
      Form2.Show
    End SubFORM2:
       text1,text2,command1
      代码》》》》》》》》》》》》
    Option Explicit  Dim str01 As String
      Dim str02 As String
      Dim str As String
      Dim i As Integer
      Dim lentxt As Integer
      
    Private Sub Command1_Click()
      
      Dim cop As Integer
      str01 = Form2.Text1.Text
      str02 = Form2.Text2.Text
      lentxt = Len(Text1.Text)
      For i = 1 To Len(Form1.Text1.Text)
        str = Mid(Form1.Text1.Text, i, lentxt)
    '    cop = StrComp("Astr", "Str01", vbBinaryCompare)
        If str = str01 Then
         str = str02
         Call tihuan
         Exit For
        End If
      Next i
      
      
      
      
    End SubPublic Sub tihuan()
        Dim l As String
        Dim r As String
        l = Left(Form1.Text1.Text, i - 1)
        r = Right(Form1.Text1.Text, Len(Form1.Text1.Text) - (i - 1 + lentxt))
     Form1.Text1.Text = l & str & r
    End Sub
      

  5.   

    这个都是初学 的时候写的啦,要是现在写就直接使用
      replace  instr函数做就简单多了,哪个时候就晓得循环比较!
      

  6.   

    我是楼主.TO:chewinggum(口香糖·个人二五计划第一年)
    查找可以用instr函数
    替换可以用replace函数
    犯不着API
    ================
    愿闻其详,请赐教!
      

  7.   

    补充:
    我的意思是实现WINDOWS记事本中的"查找"与"替找"的功能.
      

  8.   

    这里有个代码可以实现你要的功能:
    http://www.vb99.com/loaddown.asp?tid=1&pathid=0&Filenames=125
      

  9.   

    InStr 函数
          返回 Variant (Long),指定一字符串在另一字符串中最先出现的位置。语法 InStr([start, ]string1, string2[, compare])InStr 函数的语法具有下面的参数:部分 说明 
    start 可选参数。为数值表达式,设置每次搜索的起点。如果省略,将从第一个字符的位置开始。如果 start 包含 Null,将发生错误。如果指定了 compare 参数,则一定要有 start 参数。 
    string1 必要参数。接受搜索的字符串表达式。 
    string2 必要参数。被搜索的字符串表达式。 
    Compare 可选参数。指定字符串比较。如果 compare 是 Null,将发生错误。如果省略 compare,Option Compare 的设置将决定比较的类型。 
    设置 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 返回的是字节位置,而不是字符位置。
      

  10.   

    Replace函数
          描述返回一个字符串,该字符串中指定的子字符串已被替换成另一子字符串,并且替换发生的次数也是指定的。语法Replace(expression, find, replacewith[, start[, count[, compare]]])Replace函数语法有如下几部分:部分 描述 
    expression 必需的。字符串表达式,包含要替换的子字符串。 
    find 必需的。要搜索到的子字符串。 
    replacewith 必需的。用来替换的子字符串。 
    start 可选的。在表达式中子字符串搜索的开始位置。如果忽略,假定从1开始。 
    count 可选的。子字符串进行替换的次数。如果忽略,缺省值是 –1,它表明进行所有可能的替换。 
    compare 可选的。数字值,表示判别子字符串时所用的比较方式。关于其值,请参阅“设置值”部分。 
    设置值compare参数的设置值如下:常数 值 描述 
    vbUseCompareOption –1 使用Option Compare语句的设置值来执行比较。 
    vbBinaryCompare 0 执行二进制比较。 
    vbTextCompare 1 执行文字比较。 
    vbDatabaseCompare 2 仅用于Microsoft Access。基于您的数据库的信息执行比较。 
    返回值Replace的返回值如下:如果 Replace返回值 
    expression长度为零 零长度字符串("")。 
    expression为Null 一个错误。 
    find长度为零 expression的复本。 
    replacewith长度为零 expression的复本,其中删除了所有出现的find 的字符串。 
    start > Len(expression) 长度为零的字符串。 
    count is 0 expression.的复本。 
    说明Replace函数的返回值是一个字符串,但是,其中从start所指定的位置开始,到expression字符串的结尾处的一段子字符串已经发生过替换动作。并不是原字符串从头到尾的一个复制。
      

  11.   

    查找可以用instr
    replace替换
    这个很简单了