HI everyone! I've been able to return the first two words of a string and create a third variable with both concatenated. However, I also want to include special characters that could be included in the words within the string.
Here is the code I have so far. If you notice, the last two lines do not return the special characters within the word and need to do so as such:
Appreciate any help on this 😃
data input;
input str $60.;
datalines;
BLUE
BLUE BLACK
BLUE GREY BROWN
BLUE GREEN RED
BLUE RED YELLOW ORANGE
BLUE$ YELLOW
BLUE/ ORANGE GRAY
;
run;
data test;
set input;
w1 = scan(str, 1);
w2 = scan(str, 2);
length w3 $ 30;
SubStrLength=findc(str, ' ',-length(str));
if SubStrLength=0 then w3=w1;
else w3=trim(catx(' ', w1, w2));
drop SubStrLength;
run;
The below will give you the right split with the spl char. I am sure you can do the concat work yourself as you seem smart.
data input;
input str $60.;
datalines;
BLUE
BLUE BLACK
BLUE GREY BROWN
BLUE GREEN RED
BLUE RED YELLOW ORANGE
BLUE$ YELLOW
BLUE/ ORANGE GRAY
;
run;
data test;
set input;
w1 = scan(str, 1,' ','m');
w2 = scan(str, 2,' ','m');run;
The below will give you the right split with the spl char. I am sure you can do the concat work yourself as you seem smart.
data input;
input str $60.;
datalines;
BLUE
BLUE BLACK
BLUE GREY BROWN
BLUE GREEN RED
BLUE RED YELLOW ORANGE
BLUE$ YELLOW
BLUE/ ORANGE GRAY
;
run;
data test;
set input;
w1 = scan(str, 1,' ','m');
w2 = scan(str, 2,' ','m');run;
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.