Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-08-2010
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
Question ¿como parsear texto?

hola.

tengo una duda..

si engo un archivo de texto.
del cual tengo que encontrar el contenido dentro de
ciertas palabras

por ejemplo

descripcion: texto a encontrar
categoria: texto que varia
ubicacion: nuevo mexico

lo que esta en cursivas es texto que varia.
y to tomo como tokens que no varian
descripcion:
categoria:
es casi igual a lo que hace delphi al parsear el texto
entre begin y end;



ahora no se me ocurre como hacerlo.

gracias.
Responder Con Cita
  #2  
Antiguo 27-08-2010
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
Hola

Cita:
Empezado por JXJ Ver Mensaje
hola.
lo que esta en cursivas es texto que varia.
y to tomo como tokens que no varian
descripcion:
categoria:
es casi igual a lo que hace delphi al parsear el texto
entre begin y end;
No entiendo practicamente nada de a que te refieres en esta parte de tu mensaje pero de todas formas te pongo una función para saber si una cadena de texto está dentro de otra, espero que te sirva.

Código Delphi [-]
if pos('Texto a encontrar',variable o caja de texto que contiene el texto que varia)>0 then
  begin
    showmessage('texto encontrado');
  end
else
  begin
    showmessage('texto no encontrado');
  end;

Un saludo.
Responder Con Cita
  #3  
Antiguo 27-08-2010
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Lo que te pusieron es extrictamente lo que quieres, entoncotrar una cadena dentro de otra. Recuerda que "parsear" es otra cosa distinta, pues implica no solamente encontrar palabras sino analizar algunas otras cosas de las palabras que vas encontrando. Por ejemplo, el Delphi el compilador analiza que por cada Begin exista un end y que por cada If haya una expresion válida con su Then..y un largo etc. No se si solo quieras limitarte a encontrar palabras o bien a analizarlas de alguna forma.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #4  
Antiguo 27-08-2010
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
en un archivo de texto tengo que encontrar
el texto contenido entre las lineas

descripcion:
categoria:


descripcion: texto a encontrar
categoria: texto que varia
ubicacion: nuevo mexico
descripcion: texto a encontrar
categoria: texto que varia
ubicacion: nuevo mexico
descripcion: texto a encontrar
categoria: texto que varia
ubicacion: nuevo mexico
descripcion: texto a encontrar
categoria: texto que varia
ubicacion: nuevo mexico
Responder Con Cita
  #5  
Antiguo 27-08-2010
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
No pues dijera Quico..."Me doy!"
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #6  
Antiguo 27-08-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por JXJ Ver Mensaje
en un archivo de texto tengo que encontrar
el texto contenido entre las lineas

descripcion:
categoria:
Hola.

Coincido con ElDioni y AzidRain. Ateniendome al texto de tu post, esto hace lo que estas pidiendo...

Código Delphi [-]
function EntreDescripcionYCategoria(NomArch: string): TStrings;
var
  i,p: Integer;
  ts: TStrings;
begin
  ts:= TStringList.Create;
  ts.LoadFromFile(NomArch);
  for i:= 0 to ts.Count -1 do
  begin
    p:= Pos(':', ts[i]);
    if p > 0 then
     ts[i]:= Copy(ts[i], p + 1, Length(ts[i]));
  end;
  Result:= ts;
end;

Llamada ej.:
Código Delphi [-]
  Memo1.Lines:= EntreDescripcionYCategoria('C:\TEXTO.TXT');

Saludos.
Responder Con Cita
  #7  
Antiguo 28-08-2010
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
no es muy claro por que no le entiendo bien a como hacerlo
la idea es que si tengo esto

descripcion: texto a encontrar
categoria: texto que varia
ubicacion: nuevo mexico
descripcion: texto a encontrar
categoria: texto que varia
ubicacion: nuevo mexico
descripcion: texto a encontrar
categoria: texto que varia
ubicacion: nuevo mexico
descripcion: texto a encontrar
categoria: texto que varia
ubicacion: nuevo mexico

proceso el archvio y tengo que obtener el resultado

texto a encontrar
texto a encontrar
texto a encontrar
texto a encontrar
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Parsear archivos htm de word y resaltar cadena de búsqueda yusnerqui Varios 7 06-12-2007 20:51:41
Como "parsear" un fichero HTML con Delphi cartmanrules Varios 3 28-09-2007 07:59:42
parsear xml + clase DOMParser gustavoh JAVA 0 27-07-2006 15:39:25
Como puedo grabar texto en un Archivo de Texto sin Sobreescribir???? AGAG4 Varios 12 08-11-2005 22:53:00
Como buscar texto juziel Varios 2 24-06-2005 00:46:40


La franja horaria es GMT +2. Ahora son las 01:35:05.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi