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