Hi all,
So, I am trying to search for some strings in a text, and I want to use the strings with macro variable so I be able to change the string. However, I am not sure how to use the macro variable in the index function.
For example,I am doing such thing:
%let str=William;
y=index(line,&str);
Is this the correct form since there are no ' ' around the variable &str? I am asking this because I see the SAS does not find the specified string in the text, although I know it is there.
I will be grateful if someone helps me.
Thanks a lot,
When you are working with text-string in an SAS-macro environment look at the sas-macrofunctions (they all start with a %)
When you are using SAS-macro variables in a sas-datastep and process those in a string make sure there quotes. '
The macro-variable itself can contain quotes
%let str='William';
y=index(line,&str);
or use the double quotes to indicate the & are sasmacro-variables to be resolved. (Single quotes will cause no resolving of macros)
%let str=William;
y=index(line,"&str");
%let str=William;
y=index(line,"&str");
When you are working with text-string in an SAS-macro environment look at the sas-macrofunctions (they all start with a %)
When you are using SAS-macro variables in a sas-datastep and process those in a string make sure there quotes. '
The macro-variable itself can contain quotes
%let str='William';
y=index(line,&str);
or use the double quotes to indicate the & are sasmacro-variables to be resolved. (Single quotes will cause no resolving of macros)
%let str=William;
y=index(line,"&str");
Thanks a lot guys!
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.