简明Excel VBA(七)字符串String相关常用操作

简明Excel VBA

本文集同步于GitHub仓库:# bluetata/concise-excel-vba

0x04 字符串String相关常用操作

4.1 Trim

Trim函数删除给定输入字符串的前导空格和尾随空格。

语法:Trim(String)

4.2 Instr 和 InStrRev

InStr函数返回一个字符串第一次出现在一个字符串,从左到右搜索。返回搜索到的字符索引位置。

InStrRev函数与InStr功能相同,从到左搜索。返回搜索到的字符索引位置。

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

  • Start - 一个可选参数。指定搜索的起始位置。搜索从第一个位置开始,从左到右。
  • String1 - 必需的参数。要搜索的字符串。
  • String2 - 必需的参数。要在String1中搜索的字符串。
  • Compare - 一个可选参数。指定要使用的字符串比较。它可以采取以下提到的值:
    • 0 = vbBinaryCompare - 执行二进制比较(默认)
    • 1 = vbTextCompare - 执行文本比较
Private Sub Constant_demo_Click()
    Dim Var As Variant
    Var = "Microsoft VBScript"
    Debug.Print InStr(1, Var, "s")        ' 6
    Debug.Print InStr(7, Var, "s")        ' 0
    Debug.Print InStr(1, Var, "f", 1)     ' 8
    Debug.Print InStr(1, Var, "t", 0)     ' 9
    Debug.Print InStr(1, Var, "i")        ' 2
    Debug.Print InStr(7, Var, "i")        ' 16
    Debug.Print InStr(Var, "VB")          ' 11
End Sub

4.3 Mid

Mid函数返回给定输入字符串中指定数量的字符。

语法:Mid(String, start[, Length])

参数:

  • String - 必需的参数。输入从中返回指定数量的字符的字符串。
  • Start - 必需的参数。一个整数,它指定了字符串的起始位置。
  • Length - 必需的参数。一个整数,指定要返回的字符数。
    Private Sub Constant_demo_Click()
        Dim var as Variant
        var = "Microsoft VBScript"
        Debug.Print Mid(var, 2)       ' icrosoft VBScript
        Debug.Print Mid(var, 2, 5)    ' icros
        Debug.Print Mid(var, 5, 7)    ' osoft V
    End Sub

4.4 Left 和 Right

LeftRight 截取字符串,从左或者从右开始。

语法:Left(String, Length)

参数:

  • String - 必需的参数。 输入从左侧返回指定数量的字符的字符串。
  • Length - 必需的参数。 一个整数,指定要返回的字符数。
Private Sub Constant_demo_Click()
    Dim var as Variant

    var = "Microsoft VBScript"
    Debug.Print Left(var,2)     ' Mi

    var = "MS VBSCRIPT"
    Debug.Print Left(var,5)     ' MS VB

    var = "microsoft"
    Debug.Print Left(var,9)     ' microsoft
End Sub

4.5 Replace 函数

Replace 函数 将一个字符串替换另一个字符串,可指定的次数。

语法:Replace(string, findString, replaceWith[, start[, count[, compare]]])

参数:

  • String - 必需的参数。需要被搜索的字符串。
  • findString - 必需的参数。将被替换的字符串部分。
  • replaceWith - 必需的参数。用于替换的子字符串。
  • start - 可选的参数。规定开始位置。默认是 1。
  • count - 规定指定替换的次数。默认是 -1,表示进行所有可能的替换。
  • compare - 可选的参数。规定所使用的字符串比较类型。
    • 0 = vbBinaryCompare - 执行二进制比较(默认)
    • 1 = vbTextCompare - 执行文本比较

示例:

dim txt
txt="This is a beautiful day!"
Debug.Print Replace(txt, "beautiful", "horrible")   ' This is a horrible day!

4.6 StrReverse 倒转函数

语法:StrReverse(string)

示例:

Private Sub StrReverse_Demo()
    Debug.Print StrReverse("VBSCRIPT"))             ' TPIRCSBV
    Debug.Print StrReverse("My First VBScript"))    ' tpircSBV tsriF yM
    Debug.Print StrReverse("123.45"))               ' 54.321
End Sub

4.7 其他字符串函数

  • Ltrim(string) 去掉 string 左端空白
  • Rtrim(string) 去掉 string 右端空白
  • Len(string) 计算 string 长度
  • Lcase(string)Ucase(string) 转换为小写和大写

你可能感兴趣的:(简明Excel VBA(七)字符串String相关常用操作)