Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Pascal - problema stringhe
Forum - Pascal - problema stringhe

Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 1:00
Giovedì, 01/01/1970
Ciao a tutti come posso fare ad eliminare tutti gli spazzi i numeri e i caratteri speciali(es. !"£$%&/()=?^*) da una stringa con una procedura????

Vi ringrazio in anticipo..

PM Quote
Avatar
Poggi Marco (Member)
Guru


Messaggi: 969
Iscritto: 05/01/2010

Segnala al moderatore
Postato alle 18:56
Giovedì, 14/01/2010
Ciao!

Per risolvere il problema, io passerei la stringa "per indirizzo" alla procedura, quindi cero una copia locale della stessa.
A questo punto azzero la prima steinga, e con un ciclo, carico la stessa solo i caratteri "normali", esaminando la copia.

Ecco un esempio:

Codice sorgente - presumibilmente Delphi

  1. Program Esempio;
  2. var frase:string;
  3.  
  4. procedure AssemblaStringa(var a:string);
  5. var b:string;
  6.     i,fine:word;
  7. begin
  8.  b:=a;
  9.  fine:=length(a);
  10.  a:='';
  11.  for i:=1 to fine do
  12.  begin
  13.   case UpCase(b[i]) of
  14.     'A'..'Z' : a:=a+b[i]; (* Salvo solo le lettere *)
  15.   end;
  16.  end;
  17. end;
  18.  
  19. begin
  20.  frase:='  ☺☻Stringa di prova 1 :\☻☺○  ';
  21.  AssemblaStringa(frase);
  22.  writeln('#',frase,'#');
  23.  readln;
  24. end.



( La funzione UpCase( <carattere> ) restituisce il carattere passato in maiuscolo. )

Ultima modifica effettuata da Poggi Marco il 25/01/2010 alle 21:28
PM Quote