Averiguar el número de repeticiones de un caracter
Hola, me gustaría saber si existe alguna función en Delphi que te devuelve el número de veces que existe un determinado caracter en una cadena.
(Por ejemplo, el número de repeticiones del caracter "&" en la cadena 'abc&&def&fg' sería 3). Muchas gracias. |
Bueno, no debería ser muy difícil crearla....
...o parecida...;) |
Este codigo te cambia todas las ocurrencias de una subcadena dentro de una cadena. Adaptalo a tus necesidades.
procedure TForm1.Button1Click(Sender: TObject); function CambiaEn(Cadena, Esto, Por: String): String; var aPos: Integer; begin aPos := Pos(Esto, Cadena); Result:= ''; while (aPos <> 0) do begin Result := Result + Copy(Cadena, 1, aPos-1) + Por; Delete(Cadena, 1, aPos + Length(Esto)-1); aPos := Pos(Esto, Cadena); end; Result := Result+Cadena; end; var ParaCambiar:string; begin ParaCambiar:='Un ejemplo en el que cambiar "cambiar"'; Label1.Caption:=CambiaEn(ParaCambiar,'cambiar','se cambio'); end; Saludos. |
Gracias a todos por las respuestas. Lo que realmente quería saber era si existía alguna función que me evitara hacer yo el código porque más de una vez me ha pasado que después de currarme una función, ya existía alguna que hacía prácticamente lo mismo.
Si nadie me dice que existe una función que haga esto utilizaré las vuestras. Muchísimas gracias. |
A mi no me suena, pero en todo caso busca en la ayuda de Delphi "String handling routines", entra en cualquierea de ellas y en el tercer párrafo verás el enlace:
Category string handling routines Revisa la lista que aparece. |
La franja horaria es GMT +2. Ahora son las 23:56:14. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi