Ver Mensaje Individual
  #3  
Antiguo 08-01-2012
Avatar de yapt
yapt yapt is offline
Miembro
 
Registrado: sep 2006
Ubicación: España
Posts: 258
Reputación: 18
yapt Va por buen camino
Si tienes Delphi XE o superior (o ya usas alguna librería de expresiones regulares con las versiones anteriores de Delphi), podrías implementarlo con expresiones regulares.

Es más rápido y eficiente el ejemplo de Ecfisa, pero pongo aquí el programa (de consola) completo con expresiones regulares a efectos de documentación.

Saludos.
Código Delphi [-]
program Project1;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils, System.RegularExpressions;

var
  cadena: string;

begin
  cadena := '   Pedro      Antonio Omar        Benitez         ';
  cadena := TRegEx.Replace(cadena, '(^\s+|\s+$)', ''); // Eliminamos los iniciales y finales.
  cadena := TRegEx.Replace(cadena, '\s{2,}', ' ');  // Eliminamos los espacios intermedios
  Writeln('[' + cadena + ']');
  ReadLn;
end.
Responder Con Cita