检查字符串是否包含空格

时间:2015-07-12 17:17:44

标签: vbscript

我正在尝试检查刺痛是否有空格。以下内容对我不起作用。

if (skpwords.contains(lcase(query)) And Mid(query, InStrRev(query, " "))) then

end if

3 个答案:

答案 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