Visual Basic - Extraer texto dentro de una cadena de texto

Life is soft - evento anual de software empresarial
 
Vista:

Extraer texto dentro de una cadena de texto

Publicado por cmartintorre (1 intervención) el 01/02/2007 13:17:11
Buenos días a todos:

Tengo un problema, pero no soy programador experto. Os explico

Tengo cadenas de texto de las cuales quiero extraer los datos que necesito:

Cadena Tipo1: Polígono 16 Parcela 32 HONDON. MONOVAR/MONOVER (ALACANT)

de la cual quiero extraer sólo el numero de parcela y el texto siguiente.
Es decir: 32 HONDON

Si todas las cadenas tuvieran el mismo formato sería facil con Mid() y Instr(), pero son alrededor de 2000 cadenas y en algunas ocurren errores como:

CadenaTipo2: CL ARGENTINA Polígono 16 Parcela 87 BAJO HONDON. MONOVAR/MONOVER 03640-ALACANT

En las que las posiciones a eliminar varían.

Entonces, existe alguna funcion o código que me extraiga, elimine o corte en función de un texto o cadena que yo eliga en vez de posicón del carácter??

Muchas 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

RE:Extraer texto dentro de una cadena de texto

Publicado por ivan (1039 intervenciones) el 01/02/2007 19:23:57
No entendí bien, pero creo que las cadenas deben de guardar cierta estandarización para poder obtener las subcadenas, como cuando haces una macro en word y cosas de esas.

A ver si acaso te entiendo, de la cadena

Polígono 16 Parcela 32 HONDON. MONOVAR/MONOVER (ALACANT)

tu qujeres obtener

32 HONDON

esto lo entiendo que buscaste el texto "Parcela " y copiaste hasta el segundo espacio en blanco

un ejemplo de cómo lo haría

Cadena1="Polígono 16 Parcela 32 HONDON. MONOVAR/MONOVER (ALACANT)"

--> busca la subcadena Parcela, te da 13, creo
posición = InStr(Cadena1,"Parcela")

--> tendrás que iniciar la subcadena desde el espacio en blanco después de "Parcela" o sea sumarle 8 más, para que inicie en "32...."
SubInicio = posicion + 8

--> a partir de esa posición busca el siguiente espacio en blanco (el inicio de "HONDON..."), lo guardas, vuelve a buscar el segundo espacio en blanco y ya con eso tendrás el fin de tu subcadena

Esto siempre y cuando y todas tus 2000 cadenas tengan esa característica.. que después de "PARCELA" venga un espacio en blanco un número un espacio en blanco y luego un texto.... de otra forma batallarías más para hacer lo que pretendes....

espero y hayas entendido todo este relajo, ojalá y te salga otra idea mejor, suerte
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