我正在尝试检查刺痛是否有空格。以下内容对我不起作用。
if (skpwords.contains(lcase(query)) And Mid(query, InStrRev(query, " "))) then
end if
答案 0 :(得分:11)
检查字符串是否包含字符(或子字符串)的正确方法是使用InStr()
函数。它将返回找到文本的字符串中位置的从一开始的索引。那么,返回值> 0表示查找成功。例如:
If InStr(query, " ") > 0 Then
' query contains a space
End If
InStr()
函数也可以选择带三个或四个参数。如果要指定起始索引,请使用三参数版本:
If InStr(3, query, " ") > 0 Then
' query contains a space at or after the 3rd character
End If
如果要执行不区分大小写的搜索(默认区分大小写),请使用四参数版本。请注意,此函数没有三参数版本允许您指定区分大小写。如果要执行不区分大小写的搜索,即使要在开头(1
)开始搜索,也必须始终提供起始索引:
If InStr(1, query, "A", vbTextCompare) > 0 Then
' query contains "a" or "A"
End If
答案 1 :(得分:1)
您可以使用Ubound拆分数组并检查数组的长度以确定是否有空格
VBS示例:
hi = "What is up"
spaces = Ubound(Split(hi, " "))
if (spaces = 0) then
Wscript.Echo "No Spaces"
else
Wscript.Echo "There are spaces"
end if
答案 2 :(得分:0)
对此最好和最短的答案是使用Instr功能的地方。这可以是以下格式::
mysentence = "This is a sentence"
if Instr(mysentence, " ")>0 Then
'do your stuff here..
else
' do else stuff here..
End if