Tecnología

Inicio

¿Cómo encontrar palabras en una cadena en Visual Basic

La forma más sencilla de encontrar una palabra en una cadena de Visual Basic es utilizar la función "IndexOf" de la clase String, sin embargo, esa no es la única manera, y no puede entregar lo que desea. Mientras que la función "IndexOf" proporciona la posición letra de la palabra, muchos programadores pueden desear, en cambio, para encontrar qué número representa la palabra es en la cadena.

Instrucciones

1 Crear un nuevo proyecto de Visual Basic haciendo clic en "Archivo" y "Nuevo proyecto". Seleccione "Aplicación de consola."

2 Pega el siguiente para crear una cadena simple que se puede buscar dentro de:

Dim s As String = "Esto es una cadena de palabras."

3 Pega el siguiente para recuperar el número de caracteres en la que se produce la palabra "cadena":

s.IndexOf ( "cadena")

El resultado de esto será el 10, ya que (comenzando en 0), la primera letra de la palabra "cadena" se produce en el décimo lugar.

4 Pega el siguiente para encontrar la palabra número de la palabra "cadena"

dim (palabras) como s.split ()

dim newWords como ArrayList = new ArrayList ()

para cada palabra en palabras

dim regex = new System.Text.RegularExpressions.Regex("\W")

newWords.Add (regex.Replace (palabra, ""))

siguiente

newWords.IndexOf ( "cadena")

Esto divide la cadena en sus palabras y luego utiliza una expresión regular para despojar a todos los puntuacion, espacios y otros caracteres con problemas potenciales de cada palabra. Para ello, utiliza Visual Basics "\ W" patrón de expresión, que coincide con todos los caracteres no alfabéticos, y reemplazándolos con cadenas vacías.

El resultado de esto será 3, ya que (a partir de 0) "cadena" está en el tercer lugar. Para una salida más intuitivo, sólo tiene que añadir uno al resultado, de esta manera:

newWords.IndexOf ( "cadena") + 1

Esto asegurará que el recuento comienza en 1 en lugar de 0, como se hace normalmente Visual Basic.