typestar

Ayudantes de cadenas en Delphi

El rótulo de una biblioteca de semillas se recorta, se cambia de mayúsculas, se busca y se reescribe.

program StringHelpers;
uses SysUtils;

var
  Raw, Tidy: string;
  Marker: Integer;
begin
  Raw := '  Marigold / Row 4  ';
  Tidy := Trim(Raw);            // Trim drops leading and trailing spaces
  WriteLn(Format('[%s] becomes [%s]', [Raw, Tidy]));
  WriteLn(UpperCase(Tidy), ' or ', LowerCase(Tidy));
  WriteLn(Format('length %d', [Length(Tidy)]));
  Marker := Pos('/', Tidy);     // Pos counts from 1, or 0 when missing
  WriteLn(Format('slash at %d, seed is %s',
    [Marker, Trim(Copy(Tidy, 1, Marker - 1))]));
  WriteLn(StringReplace(Tidy, 'Row', 'Bed', [rfReplaceAll]));
end.

Cómo funciona

  1. Trim(Raw) quita los espacios de relleno y entonces Length(Tidy) reporta 16.
  2. UpperCase y LowerCase devuelven copias con las mayúsculas cambiadas, sin tocar Tidy.
  3. Pos('/', Tidy) ubica el separador para Copy, y StringReplace cambia Row por Bed.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
17
Caracteres a escribir
557
Tokens
135
Ritmo de tres estrellas
75 tpm

Al ritmo de tres estrellas de 75 tokens por minuto, este intento toma unos 108 segundos.

Escribe este fragmento

Paso 3 de 3 en Tipos y cadenas; paso 6 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →