Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Buscar substring en string con IndexOf? (https://www.clubdelphi.com/foros/showthread.php?t=61568)

Belaix 12-11-2008 20:21:44

Buscar substring en string con IndexOf?
 
Hola

Este es mi primer mensaje y seguro que no último en este foro. Llevo unos dias dandole vueltas ... y es una gran fuente de información. Gracias :)

Estoy tratando de averiguar como puedo meter en una variable integer la posición de un substring en un string (si se encuentra), buscando ese substring desde una posición predeterminada en vez desde el principio del string (Como lo haría POS).

O sea lo que hace exactamente este código: ... pero a mi no me va porque supongo ... que es delphi.net?

program Project1;
{$APPTYPE CONSOLE}

var
strA : String;
result : Integer;

begin
strA := 'ABCABCABC';

Console.WriteLine('Guide= 0123456789');
Console.WriteLine('strA = ' + strA);

result := strA.IndexOf('ABC', 5, 3);
Console.WriteLine('Looking for ABC, starting @ 5 for count of 3');
Console.WriteLine('Result = ' + result.ToString);

result := strA.IndexOf('ABC', 5, 4);
Console.WriteLine('Looking for ABC, starting @ 5 for count of 4');
Console.WriteLine('Result = ' + result.ToString);

Console.ReadLine;
end.

O sea ... esto se puede hacer desde delphi? Alguien lo sabe?
result := strA.IndexOf('ABC', 5, 3);

Saludos

jhonny 12-11-2008 21:34:15

Mira la función PosEx de la unidad StrUtils, seguramente es la que necesitas ;).

Código Delphi [-]
const
   Texto = 'ABCDEFGABC';
begin
  ShowMessage(IntToStr(PosEx('ABC', Texto, 8)));
end;

Belaix 12-11-2008 22:14:16

Efectivamente Jhonny !!!


Me salvaste la vida, porque me urgía.

Programé en pascal hace mas de 10 años, y apenas me acuerdo de nada, con delphi llevo con hoy, unas 10 horas :( , en las que 4h me las he pasado buscando por todos lados una solución a esto ... ya que para lo que quiero hacer la función POS, no es conveniente ...

No sabía ni que existia esa función, ni esa unit.

Mil gracias compañero :)

jhonny 12-11-2008 22:22:31

Bueno, me alegra haber sido util :).


La franja horaria es GMT +2. Ahora son las 12:20:02.

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