Swati
Swati

Reputation: 41

How to remove special ASCII characters?

I am trying to remove special character from the string.

"Mumbai rains live updates: IMD predicts heavy rainfall for next 24 hours �"

data demo1 (keep=headline2 headline3 headline4 headline5);
set kk.newspaper_append_freq_daily1;
headline2=trim(headline);
headline3=tranwrd(headline2,"�"," ");
headline5=compress(headline2,"�");
headline4=index(headline2,"�");
run;

Upvotes: 2

Views: 3369

Answers (2)

user667489
user667489

Reputation: 9569

compress should also handle this if you keep a whitelist of characters rather than trying to exclude a blacklist - e.g.

clean_text = compress(dirty_text,'','kw');

The k modifier keeps characters instead of removing them, and w adds all printable characters to the list.

Upvotes: 1

Sanek Zhitnik
Sanek Zhitnik

Reputation: 726

You can use kpropdata function. From doc:

Removes or converts unprintable characters.

Code example:

%let in=kk.newspaper_append_freq_daily1;
%let out=demo1;

data &out; 
set ∈ 
array cc (*) _character_; 
do i=1 to dim(cc); 
 cc(_N_)=kpropdata(cc(i),"TRUNC", 'utf-8'); 
 end; 
run; 

In code I've used array statement to iterate over all character columns in table.

Upvotes: 4

Related Questions