VBA:testingstring是否以string开头?
在VBA中,testing一个string是否以子string开始的最直接的方法是什么? Java已经启动了。 是否有VBA等效?
做这件事有很多种方法:
InStr函数
您可以使用InStr
内置函数来testingString是否包含子string。 InStr
将返回第一个匹配的索引,或者0.所以你可以通过下面的方法来testing一个string是否以一个子string开头:
If InStr(1, "Hello World", "Hello W") = 1 Then MsgBox "Yep, this string begins with Hello W!" End If
如果InStr
返回1
,则String(“Hello World”)以子string(“Hello W”)开始。
喜欢
您也可以使用like
比较运算符以及一些基本的模式匹配:
If "Hello World" Like "Hello W*" Then MsgBox "Yep, this string begins with Hello W!" End If
在这里,我们使用星号(*)来testingstring是否以我们的子string开头。
根据startsWith
Java函数的声明和描述来判断,在VBA中实现它的“最直接的方法”是用Left
:
Public Function startsWith(str As String, prefix As String) As Boolean startsWith = Left(str, Len(prefix)) = prefix End Function
或者,如果要使用偏移量参数,请使用Mid
:
Public Function startsWith(str As String, prefix As String, Optional toffset As Integer = 0) As Boolean startsWith = Mid(str, toffset + 1, Len(prefix)) = prefix End Function