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