Visual Basic.NET - Buscar palabras enteras en cadena de texto

 
Vista:

Buscar palabras enteras en cadena de texto

Publicado por Jose Cavillas (4 intervenciones) el 14/03/2018 20:00:59
Supongamos que tengo la siguiente cadena de texto: "interesante int interes internet"
Tengo un vector en el cual guardo las palabras que quiero buscar en la cadena. En este caso solo voy a poner una, pero fueran varias.

1
dim vector() as String = {"int"}

Quiero buscar si en esa cadena de texto hay una coincidencia alguna con alguna de las palabras almacenada en mi vector y si la hay que la borre de la cadena de texto. PEROOOO Y AQUI VIENE LO QUE NO SE HACER tiene que ser la palabra entera.
En ese ejemplo de texto que di solamente debería borrar la palabra "int", no quiero que le quita pedazos a las otras palabras.

Me pueden ayudar con esto? Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de giancarlo
Val: 377
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Buscar palabras enteras en cadena de texto

Publicado por giancarlo (488 intervenciones) el 19/03/2018 23:03:52
primero, es una matriz de varias cadenas?? y en esas cadenas está la palabra que quieres borrar??

de ser así, tendrías que recorrer cada cadena dentro de la matriz, luego usar la propiedad replace, quitas el texto:
dim lisCadena()as string
for each cadena as string in lisCadena
cadena=cadena.replace("valor buscado","nuevo valor")
'como quieres borrarlo y no reemplazarlo, en el nuevo valor solo pones ""
next
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Buscar palabras enteras en cadena de texto

Publicado por Guido (4 intervenciones) el 05/05/2018 01:33:41
Primero deberías asegurarte que las "palabras" sean palabras, es decir: una palabra es un grupo de letras que está separado de otro grupo por un espacio.
Luego de esto, a cada elemento del array (palabras a buscar) le agregas un espacio delante y otro detras. La manera más rápida de saber si una cadena existe dentro de otra cadena es:

1
dim x as integer = Instr(cadenadepalabras,palabraabuscar)

Esto devuelve la posición dentro de 'cadenadepalabras' en la que comienza 'palabraabuscar', pero puede bastarte saber que existe.

En tu ejemplo:
dim x as integer = Instr(" interesante int interes internet "," int ")
x = 13
seguiría:
if x > 0 then
cadenadepalabras = replace(cadenadepalabras," int ", "")
end if
Observa que he agregado un espacio al comienzo y un espacio al final de la cadena para que la primer y la ultima palabra respndan a la misma lógica.

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar