2015-07-12 5 views

ответ

7

Правильный способ проверить, если строка содержит символ (или подстрока) должен использовать функцию 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 
0

Вы могли бы разделить массив с помощью 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 
0

Самый лучший и кратчайший возможный ответ на это будет где вы используете функцию Instr. Это может быть в следующем формате:

mysentence = "This is a sentence" 
if Instr(mysentence, " ")>0 Then 
'do your stuff here.. 
else 
' do else stuff here.. 
End if