02-13-2018 12:42 AM
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.
02-13-2018 01:30 AM
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;
02-13-2018 02:50 AM
%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.