Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problema con function Pos() (https://www.clubdelphi.com/foros/showthread.php?t=81413)

Anel Hernandez 12-11-2012 18:44:24

Problema con function Pos()
 
Hola,

quisiera encontrar la posicion del primer caracter encontrado en una cadena. Yo necesito encontrar el ultimo caracter en una cadena con caracteres repetidos; el primero contando de derecha a izquierda.

Hay alguna forma sencilla de lograrlo que no sea, cortar cadenas y usar substrings, es decir, una sola function y ya?

gracias

roman 12-11-2012 19:22:19

No sé si exista alguna función predefinida pero en todo caso es muy sencillo hacerse de una:

Código Delphi [-]
function LastPos(S: String; Ch: Char): Integer;
var
  I: Integer;

begin
  Result := 0;

  if S = '' then
    exit;

  for I := Length(S) downto 0 do
    if S[i] = Ch then
    begin
      Result := I;
      break;
    end;
end;

// Saludos

ecfisa 12-11-2012 19:30:27

Cita:

Empezado por Anel Hernandez (Mensaje 449254)
Hola,

quisiera encontrar la posicion del primer caracter encontrado en una cadena. Yo necesito encontrar el ultimo caracter en una cadena con caracteres repetidos; el primero contando de derecha a izquierda.

Hay alguna forma sencilla de lograrlo que no sea, cortar cadenas y usar substrings, es decir, una sola function y ya?

gracias

Hola.

No hay ninguna función predefinida que lo realice, pero podés implementar una:
Código Delphi [-]
uses StrUtils;

function RightPos(Buscado,Cadena: string): Integer;
begin
  Result:=  Pos(ReverseString(Buscado), ReverseString(Cadena));
  if Result > 0 then
    Result := Length(Cadena)-Result-Length(Buscado)+2
end;

Saludos.

Edito: Ups!, no ví el mensaje de roman, mientras escribía y hacía una o dos comprobaciones :o, pero veo que coincidimos en que hay que hacerce una función :)


La franja horaria es GMT +2. Ahora son las 04:33:57.

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