Hi guys,
I want to add particular number of white spaces in a string.
Like suppose we have string "MESSAGE" .
I want X number of spaces after 4th character of "MESSAGE" then how can i do the same.
Output should be like "MESS AGE" => X spaces between MESS and AGE.
Thanks in advance.
Do something like this
data test;
string="MESSAGE";
newstring=cat(substr(string, 1, 4), ' ', substr(string, 5) );
run;
You can avoid typing 4 spaces manually with repeat:
Data Want;
Format string $20.;
string="MESSAGE";
Substr(string, 5) = Repeat(' ', 3) || Substr(string, 5);
Run;
%macro InsertSpace(location=,no_spaces=)
Data Want;
set Have;
/*Assuming the Variable opt for Transformation is string
and it have enough length to contain the spaces
*/
Substr(string, &location.) = Repeat(' ', &no_spaces.) || Substr(string, &location.);
Run;
%mend InsertSpace;
%InsertSpace(location=5,no_spaces=3);
@user24feb This is little modification to your code.
Hi,
Data want;
Format string $20.;
string="Message";
substr(string,5)=repeat(' ',3) || substr(string,5);
run;
Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.
Register today!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.
Select SAS Training centers are offering in-person courses. View upcoming courses for: