InStr (Función, Visual Basic)

Actualización: noviembre 2007

Devuelve un entero que especifica la posición inicial de la primera aparición de una cadena dentro de otra.

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

Parámetros

  • Start
    Opcional. Expresión numérica que establece la posición inicial para cada búsqueda. Si se omite, la búsqueda comienza en la primera posición del carácter. El índice de inicio está basado en 1.

  • String1
    Requerido. Expresión String en la que se busca.

  • String2
    Requerido. Expresión String que se busca.

  • Compare
    Opcional. Especifica el tipo de comparación entre cadenas. Si se omite Compare, el valor Option Compare determinará el tipo de comparación.

Valores

Los valores del argumento Compare son:

Constante

Valor

Descripción

Binary

0

Realiza una comparación binaria

Text

1

Realiza una comparación de texto

Valor devuelto

Si

InStr devuelve

String1 es de longitud cero o Nothing

0

String2 es de longitud cero o Nothing

start

No se ha encontrado String2

0

String2 se encuentra dentro de String1

Posición donde empieza la coincidencia

Start > String2

0

Excepciones

Tipo de excepción

Número de error

Condición

ArgumentException

5

Start < 1.

Consulte la columna "Número de error" si está actualizando aplicaciones de Visual Basic 6.0 que utilizan el control de errores no estructurado. (Se puede comparar el número de error con respecto a Number (Propiedad, objeto Err)). Sin embargo, siempre que sea posible, se debe considerar la sustitución de dicho control de errores por Información general sobre el control estructurado de excepciones de Visual Basic.

Comentarios

Generalmente, cuando se analizan cadenas se utiliza la función InStr.

Nota:

La función InStrB de versiones anteriores de Visual Basic devuelve un número de bytes, en lugar de la posición de un carácter. Se utiliza principalmente para convertir cadenas en aplicaciones de juegos de caracteres de doble byte (DBCS). En Visual Basic 2005, todas las cadenas están en Unicode y ya no se admite InStrB.

Ejemplo

En este ejemplo se usa la función InStr para devolver la posición de la primera aparición de una cadena dentro de otra.

' 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")

Requisitos

Espacio de nombres:Microsoft.VisualBasic

**Módulo:**Strings

**Ensamblado:**Visual Basic Runtime Library (en Microsoft.VisualBasic.dll)

Vea también

Conceptos

Resumen de cambios de los elementos de programación ofrecidos

Referencia

InStrRev (Función, Visual Basic)

Option Compare (Instrucción)

StrComp (Función, Visual Basic)

ArgumentException

Otros recursos

Cadenas en Visual Basic

Introducción a las cadenas en Visual Basic