Ver Mensaje Individual
  #4  
Antiguo 26-02-2021
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Reputación: 20
movorack Va camino a la famamovorack Va camino a la fama
Podrías usar una expresión regular para hacer la busqueda.

Código Delphi [-]
function BuscarPattern(Pattern, Input: string): string;
  var
    i: integer;
    lRegex: TRegEx;
begin
  Result := '';
  lRegex.Create(Pattern, [roIgnoreCase]);
  if lRegex.IsMatch(Input) then
    for i := 0 to lRegex.Matches(Input).Count - 1 do
      Result := Result + lRegex.Matches(Input)[i].Value;
end;

El valor de búsqueda lo conviertes a un pattern válido. Por ej, "abc" podría ser "[a]|[b]|[c]". De esa manera encontrará "acab" de "acabo"

Ejemplo colores hexadecimales:
Texto de busqueda: "#0123456789ABCDEF"
Pattern: "[#]|[0]|[1]|[2]|[3]|[4]|[5]|[6]|[7]|[8]|[9]|[A]|[b]|[C]|[D]|[E]|[F]" (Que podría resumirse en "[#]|[0-9]|[A-F]")
Resultados
Código:
ORIGEN      RESULTADO
-#ffff00.,  #ffff00
-#e5e500[]  #e5e500
-#cccc00`^  #cccc00
-#b2b200{}  #b2b200
-#ff0000%   #ff0000
-#e50000$   #e50000
-#cc0000"   #cc0000
-#b20000!   #b20000
-#0000ffq   #0000ff
-#1919ffw   #1919ff
-#3232ffr   #3232ff
-#4c4cfft   #4c4cff
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita