Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   extraer cadenas de texto de archivo txt (https://www.clubdelphi.com/foros/showthread.php?t=54759)

octalh 29-03-2008 09:52:30

extraer cadenas de texto de archivo txt
 
Hola, alguien sabe como extraer una candena de texto de un archivo ?
tengo un archivo html y dentro de el se encuentra una cadena que me interesa, en si es un valor numerico y esta estructurado de la siguiente forma:

id=d54a6b3887d1535d906f853280afee65

yo quiero obtener unicamente d54a6b3887d1535d906f853280afee65

lo malo es que la linea donde esta esa cadena no esta "limpia" osea antes de ese texto hay mas y despues de el tambien, esta asi:

var flashObj = new FlashObject ("/player-storm.swf?id=d54a6b3887d1535d906f853280afee65&title=The Carpenters - Close to You", "FMP3", "300", "69", 7, "#FFFFFF", true);

alguien sabe como extraer unicamente d54a6b3887d1535d906f853280afee65 para poder almacenarlo en una variable??

gracias

dec 29-03-2008 10:18:47

Hola,

Probablemente usando Expresiones Regulares (Regular Expressions) lo consigas. Busca en los foros más información al respecto.

keyboy 29-03-2008 18:13:56

Si todas las cadenas son como la que pones, quizá baste buscar la posición de la cadena "id=" y del primer "&" después de eso. Algo como

Código Delphi [-]
var
  PosId, PosAmp: Integer;

begin
  // Buscar el inicio del número (S es la cadena a examinar)
  PosId := Pos('id=', S);
  
  // Si no está, terminar
  if PosId = 0 then
    exit;

  // Saltarse los tres caracteres de "id="
  Inc(PosId, 3);

  // Buscar el ampersand desde PosId
  PosAmp = PosEx('&', S, PosId);

  // Si no está es porque el número está al final de la cadena
  if PosAmp = 0 then
    PosAmp := Length(S);

  // Extraer el número.
  S := Copy(S, PosId, PosAmp - PosId);
end;

Bye

octalh 30-03-2008 01:15:32

Gracias por la respuesta, vere si puedo conseguirlo :D

octalh 30-03-2008 04:16:51

KeyBoy muchas gracias por ese codigo de ejemplo, investigue mas acerca de "PosEx" y ya pude hacer lo que queria, Thnaks :D


La franja horaria es GMT +2. Ahora son las 01:53:46.

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