Oppure

Loading
14/01/10 17:05
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..
14/01/10 17:56
Poggi Marco
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:


Program Esempio;
var frase:string;

procedure AssemblaStringa(var a:string);
var b:string;
    i,fine:word;
begin
 b:=a;
 fine:=length(a);
 a:='';
 for i:=1 to fine do
 begin
  case UpCase(b[i]) of 
    'A'..'Z' : a:=a+b[i]; (* Salvo solo le lettere *)
  end;
 end;
end;

begin
 frase:='  ☺☻Stringa di prova 1 :\☻☺○  ';
 AssemblaStringa(frase);
 writeln('#',frase,'#');
 readln;
end.


( La funzione UpCase( <carattere> ) restituisce il carattere passato in maiuscolo. )
Ultima modifica effettuata da Poggi Marco 25/01/10 20:28
aaa