Intrprete de texto

Hola, estoy pensando en desarrollar un pequeo interprete de texto que me permita extraer de un estira cierta informacin. Por ejemplo, de un texto de este tipo:
texto libre #etiqueta1 #etiqueta2. El interprete debe guardar en una variable el valor de etiqueta1 y etiqueta2. El resto texto libre, en otra variable. Los datos se pillara de un TextArea por ejemplo.

Se le ocurre a alguien cmo meterle mano?
Gracias.

Usando “Split”?

Hola,

Quiz tambin puedas encontrar interesante el uso de expresiones regulares si la informacin a extraer lleva asociado algn tipo de marcado.

Tambin puede ayudarte la funcin InStr, en combinacin con Split.

Julen

Gracias chicos por la ayuda, ir probando y os mantendr informados.
Gracias por la ayuda.

Tal cosa?
testo libre #etiqueta1 #etiqueta2
testo libre #etiqueta1 #etiqueta2
testo libre #etiqueta1 #etiqueta2
testo libre #etiqueta1 #etiqueta2
testo libre #etiqueta1 #etiqueta2
testo libre #etiqueta1 #etiqueta2

Vamos a tratar algunos datos reales …
Los muchachos peronistas #Planeta #HISTORIA HISTORIA ARGENTINA POLITICA PERONISMO JUVENTUD PERONISTA INVESTIGACION
De salariazo a corralito, de carapintada a blog: nuevas palabras en 25 aos de democracia #Biblioteca Nacional #NEOLOGISMOS
La moda: edicin facsimilar #Biblioteca Nacional #MODA USOS Y COSTUMBRES HISTORIA ARGENTINA SIGLO XVIII FACSIMILES
La destruccin o el amor #Losada #POESIA
Poemas amorosos: antologa #Losada #POESIA
Chiquitos de Amrica Latina: Cuba #Biblioteca Nacional #LITERATURA INFANTIL CUENTOS INFANTILES NARRATIVA CUBANA
Chiquitos de Amrica Latina: Cuba #Biblioteca Nacional #LITERATURA INFANTIL CUENTOS INFANTILES NARRATIVA CUBANA
Chiquitos de Amrica Latina: Cuba #Biblioteca Nacional #LITERATURA INFANTIL CUENTOS INFANTILES NARRATIVA CUBANA
Chiquitos de Amrica Latina: Cuba #Biblioteca Nacional #LITERATURA INFANTIL CUENTOS INFANTILES NARRATIVA CUBANA

//

Mientras tanto dividimos las lneas de texto de acuerdo con el tipo de carcter / caracteres usados ??para el final de la lnea.
Mediante el anlisis de los distintos tipos de sistema operativo comn que 0A (CR) en otros casos, en las ventanas, 0A0D (CR + LF)

dim entita() as text
entita() = input.Split(&u0a)

entita() es una matriz que contiene las filas

//

Ahora, tenemos que entrar en una clase de lnea de datos de lectura
A continuacin, defina un objeto o una clase con los tres campos de texto

dim datos() as new classedatos

for row as integer = 0 to entita.ubound
    dim nuevodatos as new classedatos
    nuevodatos.datos1 = trim(nthfield(entita(row),"#",1))
    nuevodatos.datos2 = trim(nthfield(entita(row),"#",2))
    nuevodatos.datos3 = trim(nthfield(entita(row),"#",3))
    datos.append nuevodatos
next

250000 filas se procesan en unos pocos segundos

Espero que entiendo por completo … y que mi espaol ha de entender …
De lo contrario, he hecho dos veces la cifra de pollo …

If instead you have to put everything in a database record …
dim datos() as new classedatos

for row as integer = 0 to entita.ubound dim recordw as new databaserecord recordw.datos1 = trim(nthfield(entita(row),"#",1)) recordw.datos2 = trim(nthfield(entita(row),"#",2)) recordw.datos3 = trim(nthfield(entita(row),"#",3)) db.insertrecord("table",recordw) if db.error then ... else db.commit end if next

Grazie mille Massimiliano :wink: