Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-07-2010
cslbcn cslbcn is offline
Miembro
 
Registrado: jul 2008
Posts: 60
Poder: 16
cslbcn Va por buen camino
Exclamation Comparar caracteres de una cadena

Hola.

tengo una cadena de texto con simbolos (A35-5677:G6) y quiero que esa cadena se convierta en (A355677G6).

He conseguido hacer el recorrido carácter por carácter pero no consigo hacer la comparación, es decir, hacer algo así:

cadenaCaracteresParaComparar = 'abcdrfghijklmnopqrstuvwxyzABCDRFGHIJKLMNOPQRSTUWXYZ1234567890'

cadenaOriginal = A35-5677:G6

for A hasta el 6 hacer:
si A está en cadenaCaracteresParaComparar -> OK

Si - no está en cadenaCaracteresParaComparar -> BORRAR

como se haría esa comparación? alguna funcion?
Responder Con Cita
  #2  
Antiguo 09-07-2010
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola cslbcn, tu cadena a comparar puedes tomarlo como un conjunto:

Código Delphi [-]
 
 cadenaOriginal := 'A35-5677:G6';
 
 for i:=Length(cadenaOriginal) downto 1 do
  begin
   if not(cadenaOriginal[i] in ['a'..'z','A'..'Z','0'..'9']) then
     Delete(cadenaOriginal,i,1);
  end;

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #3  
Antiguo 10-07-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

La solución de Caro funciona perfectamente, pero se me ocurrió una idea y bue... ya que estoy la pongo.

Código:
procedure SacarExtras(var Cadena:string; ASacar: string);
var
  i: Integer;
begin
  for i:= Length(Cadena) downto 1 do
    if Pos(Cadena[i], ASacar) > 0 then
      Delete(Cadena, i, 1);
end;
se la llamaría:
Código:
...
  Cadena:= 'A35-5677:G6'; 
  SacarExtras(Cadena, '-:*#$.@'); { no es una grosería }
Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 10-07-2010 a las 12:49:30.
Responder Con Cita
  #4  
Antiguo 10-07-2010
cslbcn cslbcn is offline
Miembro
 
Registrado: jul 2008
Posts: 60
Poder: 16
cslbcn Va por buen camino
muchas gracias a los 2.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Convertir cadena aleatoria en cadena de N caracteres DANY OOP 3 12-03-2009 20:49:21
Comparar una cadena String con un directorio dicatek Internet 2 22-03-2008 20:01:05
comparar una cadena y consultar UREÑA Conexión con bases de datos 1 19-06-2007 18:46:56
comparar cadena de dos textos coyule Varios 10 31-05-2007 18:32:37
Comparar caracteres tecleados con los de una cadena Calculador Varios 1 16-01-2005 18:36:35


La franja horaria es GMT +2. Ahora son las 21:32:11.


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
Copyright 1996-2007 Club Delphi