Cita:
Empezado por flystar
Existe alguna función en Delphi que borre las cadenas que aparescan repetidas dentro de otra cadena?
|
Pues no, aunque parezca mentira alguna vez hay que teclear algo de código. No siempre hay objetos o funciones para todo. Pero todo se andará, quizá algún día delphi traerá la función "MataAFlander" en una de sus librerías
Código Delphi
[-]
function nodup(Str: String): String;
var
Parser: TParser;
Stream: TStringStream;
begin
Result:= EmptyStr;
with TStringList.Create do
try
Stream:= TStringStream.Create(Str);
try
Parser:= TParser.Create(Stream);
try
if IndexOf(Parser.TokenString) = -1 then
Add(Parser.TokenString);
while not (Parser.NextToken = toEOF) do
if IndexOf(Parser.TokenString) = -1 then
Add(Parser.TokenString);
Delimiter:= #32;
Result:= DelimitedText;
finally
Parser.Free;
end;
finally
Stream.Free;
end;
finally
Free;
end;
end;
ShowMessage(nodup('El aguila vuela, aguila es veloz y aguila ataca cuando se enoja'));