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 31-08-2008
hmoner hmoner is offline
Miembro
 
Registrado: may 2005
Posts: 52
Poder: 19
hmoner Va por buen camino
Encontrar ultima ocurrencia de subcadena

Hola a todos
Como muchos sabran, la funcion pos() retorna el indice de la primer ocurrencia de una subcadena dentro de una cadena principal.

Estoy buscando una funcion, o algo de codigo que me permita encontrar la ultima ocurrenca de una subcadena dentro de otra

Estuve intentando hacerlo yo mismo (sin buenos resultados) con un Repeat -> Until

Alguien tiene alguna mejor idea? Gracias
Responder Con Cita
  #2  
Antiguo 31-08-2008
Avatar de xEsk
[xEsk] xEsk is offline
Miembro Premium
 
Registrado: feb 2006
Posts: 454
Poder: 19
xEsk Va por buen camino
Hola, puedes usar la función: "LastDelimiter".

Saludos
Responder Con Cita
  #3  
Antiguo 01-09-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
A mi se me ocurre buscar el reverso de la subcadena en el reverso de la cadena y luego tomar el complemento de la posición encontrada respecto a la longitud de la cadena tomando en cuenta la longitud de la subcadena

O sea:

Código Delphi [-]
uses StrUtils;

function LastPos(Substr, S: String): Integer;
var
  I: Integer;

begin
  I := Pos(ReverseString(Substr), ReverseString(S));

  if I > 0 then
    Result := Length(S) - Length(Substr) + 2 - I
  else
    Result := 0;
end;

// Saludos
Responder Con Cita
  #4  
Antiguo 01-09-2008
hmoner hmoner is offline
Miembro
 
Registrado: may 2005
Posts: 52
Poder: 19
hmoner Va por buen camino
Muchisimas gracias por la ayuda
Ambas me parecen soluciones perfectas.

Saludos!
Responder Con Cita
  #5  
Antiguo 01-09-2008
Avatar de tcp_ip_es
tcp_ip_es tcp_ip_es is offline
No confirmado
 
Registrado: ago 2003
Ubicación: Madrid
Posts: 635
Poder: 0
tcp_ip_es Va por buen camino
Preguntita al gran Roman: ¿Desde qué versión de delphi se incluye la libreria StrUtils?
Yo es que sigo con D5 y creo que esa librería no la tengo .....
Responder Con Cita
  #6  
Antiguo 01-09-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por tcp_ip_es Ver Mensaje
¿Desde qué versión de delphi se incluye la libreria StrUtils?
Creo que desde la versión 6. Pero con todo gusto te regalo esta función

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

begin
  Result := '';

  for I := 1 to Length(S) do
    Result := S[i] + Result;
end;

// Saludos
Responder Con Cita
  #7  
Antiguo 01-09-2008
Avatar de tcp_ip_es
tcp_ip_es tcp_ip_es is offline
No confirmado
 
Registrado: ago 2003
Ubicación: Madrid
Posts: 635
Poder: 0
tcp_ip_es Va por buen camino
je je je muchas gracias, me ire componiendo mi propio tcp_StrUtils
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
Eliminar subcadena de una cadena kuan-yiu Varios 9 09-07-2007 16:50:49
consultar ultima fecha y ultima hora KeyMan MySQL 3 07-02-2007 16:50:25
...ocurrencia, chiste o chanza... Jure Humor 0 13-09-2004 19:55:28
Como busco una subcadena con like DarkMedel SQL 2 20-02-2004 14:46:21


La franja horaria es GMT +2. Ahora son las 15:09:36.


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