PDA

Ver la Versión Completa : Cambiando un string


Soa Pelaez
26-03-2016, 17:19:47
Buen día.

Quisiera que me ayudarán tengo una cadena con n cantidad de caracteres, lo que quisiera hacer poder cambiar este string y añadir un simbolo cada cierta cantidad de caracteres, ejemplo.

Si la cadena es 12 quiero cambiarla y quede así 1.2,
Si la cadena es 1212 quiero cambiar y que quede 1.2.12
Si la cadena es 121212 quiero cambiarla y que quede en 1.2.12.12 y así sucesivamente,

Si alguien tiene idea de como hacerlo le agradecería la ayuda.

Al González
26-03-2016, 19:14:07
Revisa el procedimiento nativo System.Insert. Este te permite insertar subcadenas (o caracteres simples) en cualquier parte de una cadena de caracteres. Tendrás que llamarlo varias veces dentro de un ciclo que recorra el String original.

Para describir mejor tu requerimiento, ¿podrías detallarnos cuál es el uso que le darás al resultado o por qué necesitas hacer esto? Así tendremos una idea concreta del propósito y la regla sintáctica o de formato que deberá aplicarse.

Gracias. :)

BDWONG
27-03-2016, 03:14:20
Hola como bien dijo el compañero puedes usar la funcion insert (http://www.delphibasics.co.uk/RTL.asp?Name=insert)
Bueno en base ha eso me puse a realizar una posible implementacicon, bueno sin mas que decir aqui esta

function _changeString(const source:string):string;
var
index,size:integer;
copyString:string;
begin
copyString:=source;
size:=Length(copyString);

if size mod 2=0 then
begin
Insert('.',copyString,2);
if size>2 then Insert('.',copyString,4);
index:=4;
while(index < Length(copyString)-2) do
begin
Inc(index,3);
Insert('.',copyString,index);
end;
end;
Result:=copyString;
end;
https://i.gyazo.com/f1ea23ed41368e2d0a8ff44d59edb0c1.png

//Saludos..