Функция 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

Исключения

Тип исключения

Номер ошибки

Условие

ArgumentException

5

Start < 1.

См. столбец "Номер ошибки", если выполняется обновление приложений Visual Basic 6.0, в которых используется неструктурированная обработка ошибок. (Можно сравнить номер ошибки с Свойство Number (объект Err).) Однако по возможности следует изменить такую систему управления ошибками на Обзор структурной обработки исключений в Visual Basic.

Заметки

Как правило, функция InStr используется при анализе строк.

8460tsh1.alert_note(ru-ru,VS.90).gifПримечание.

В предыдущих версиях 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)

Оператор Option Compare

Функция StrComp (Visual Basic)

ArgumentException

Другие ресурсы

Cтроки в Visual Basic

Знакомство со строками в Visual Basic