Функция InStr (Visual Basic)
Обновлен: Ноябрь 2007
Возвращает целое число, указывающее начальную позицию первого вхождения одной строки в другую.
Public Shared Function InStr(_
ByVal String1 As String, _
ByVal String2 As String, _
Optional ByVal Compare As CompareMethod _
) As Integer
' -or-
Public Shared Function InStr(_
ByVal Start As Integer, _
ByVal String1 As String, _
ByVal String2 As String, _
Optional ByVal Compare As Microsoft.VisualBasic.CompareMethod _
) As Integer
Параметры
Start
Необязательно. Числовое выражение, задающее начальную позицию для каждого поиска. Если выражение опущено, поиск начинается с позиции первого символа. Начальный индекс начинается с 1.String1
Обязательно. Выражение String для поиска.String2
Обязательно. Искомое выражение String.Compare
Необязательно. Указывает тип сравнения строк. Если Compare не задан, параметр Option Compare определяет тип сравнения.
Параметры
Аргумент Compare принимает следующие значения.
Константа |
Значение |
Описание |
---|---|---|
Binary |
0 |
Выполняет двоичное сравнение |
Text |
1 |
Выполняет сравнение текста |
Возвращаемое значение
Если |
InStr возвращает |
---|---|
String1 имеет нулевую длину или Nothing |
0 |
String2 имеет нулевую длину или Nothing |
start |
Параметр String2 не найден |
0 |
String2 находится в пределах String1 |
Позиция, где начинается соответствие |
Start > String2 |
0 |
Исключения
Тип исключения |
Номер ошибки |
Условие |
---|---|---|
Start < 1. |
См. столбец "Номер ошибки", если выполняется обновление приложений Visual Basic 6.0, в которых используется неструктурированная обработка ошибок. (Можно сравнить номер ошибки с Свойство Number (объект Err).) Однако по возможности следует изменить такую систему управления ошибками на Обзор структурной обработки исключений в Visual Basic.
Заметки
Как правило, функция InStr используется при анализе строк.
Примечание. |
---|
В предыдущих версиях Visual Basic функция InStrB возвращает количество байтов, а не позицию символа. В основном она применяется для преобразования строк в приложениях с двухбайтовым набором знаков (DBCS). Все строки Visual Basic 2005 кодируются в Юникоде, и InStrB больше не поддерживается. |
Пример
В данном примере функция InStr используется для возврата позиции первого вхождения одной строки в другую.
' String to search in.
Dim SearchString As String = "XXpXXpXXPXXP"
' Search for "P".
Dim SearchChar As String = "P"
Dim TestPos As Integer
' A textual comparison starting at position 4. Returns 6.
TestPos = InStr(4, SearchString, SearchChar, CompareMethod.Text)
' A binary comparison starting at position 1. Returns 9.
TestPos = InStr(1, SearchString, SearchChar, CompareMethod.Binary)
' If Option Compare is not set, or set to Binary, return 9.
' If Option Compare is set to Text, returns 3.
TestPos = InStr(SearchString, SearchChar)
' Returns 0.
TestPos = InStr(1, SearchString, "W")
Требования
Пространство имен:Microsoft.VisualBasic
**Модуль:**Strings
**Сборка:**Visual Basic (библиотека времени выполнения, в Microsoft.VisualBasic.dll)
См. также
Основные понятия
Сводка изменений поддержки элементов программирования
Ссылки
Функция InStrRev (Visual Basic)
Функция StrComp (Visual Basic)