BookmarkSubscribeRSS Feed
amol2939
Calcite | Level 5
I have an
data have;
Input result $;
Data lines;
Abc
Def
Hjkkk
Lkhhhh
;
Run;
I want to remove the trailing blanks
And want to see in which observation the blank have been removed
4 REPLIES 4
Patrick
Opal | Level 21

SAS character variables are fixed length (type CHAR). If you just use $ without a length specification in your input statement then the variable will become character with a length of 8.

As it's fixed length there are always trailing blanks unless your string is already 8 characters.

 

So: Removing trailing blanks is not possible but if you just want to know how long your strings actually are then you can use the length() or lengthn() function.

data have;
  input result $;
  lenOfString=length(result);
  datalines;
Abc
Def
Hjkkk
Lkhhhh
;
proc print;
run;

 

JerryV
SAS Employee

Building upon Kurt's and Patrick's responses.  The below code shows what they have said.  Now you can compare lenOfString and columnLengthOf_result to see when strip() does something.

data have;
input result $;
retain columnLengthOf_result 0;
if _n_=1 then columnLengthOf_result=vlength(result);
lenOfString=length(result);
Original_result='(' || result || ')';
Stripped_result='(' || strip(result) ||')';

datalines;
Abc
Def
Hjkkk
Lkhhhh
;;;;

ballardw
Super User

Please describe what you are doing that "trailing blanks" is causing problems or affecting your analysis.

hackathon24-white-horiz.png

The 2025 SAS Hackathon Kicks Off on June 11!

Watch the live Hackathon Kickoff to get all the essential information about the SAS Hackathon—including how to join, how to participate, and expert tips for success.

YouTube LinkedIn

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 4 replies
  • 1211 views
  • 2 likes
  • 5 in conversation