Ver Mensaje Individual
  #10  
Antiguo 27-09-2017
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Reputación: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Yo usaria las funciones Split:

Código Delphi [-]
uses
  System.Types,
  System.SysUtils,
  System.StrUtils;

var
  Original, Each: string;
  Palabras: TArray<string>;
  MasPalabras: System.Types.TStringDynArray;
begin
  Original := 'Jirafa - Elefante - Sapo - Ardilla';
  Palabras := Original.Split(['-']);
  Writeln('Usando TStringHelper.Split: ');
  Write('Cantidad de palabras: '); Writeln(System.Length(Palabras));
  for Each in Palabras do
    WriteLn(Each);

  WriteLn;
  Writeln('Usando System.StrUtils.SplitString: ');
  MasPalabras := System.StrUtils.SplitString(Original, '-');
  Write('Cantidad de palabras: '); Writeln(System.Length(MasPalabras));
  for Each in MasPalabras do
    WriteLn(Each);

  Readln;
end.

Salida:

Código Delphi [-]
Usando TStringHelper.Split:
Cantidad de palabras: 4
Jirafa
 Elefante
 Sapo
 Ardilla

Usando System.StrUtils.SplitString:
Cantidad de palabras: 4
Jirafa
 Elefante
 Sapo
 Ardilla

Ten en cuenta que no le recorta el espacio al inicio de cada cadena. Para eso podrias usar las funciones Trim
Responder Con Cita