To give the question some context: I have a macro parameter that consists of a macro variable and free text.
For example, the macro variable, X, has a value of "A:abc,B:uvw" which is then concatenated with ",A:def,B:xyz" by a developer:
However, the macro TEST requires the macro parameter VAR to have the format "A:abc,def,B:uvw,xyz". This is relatively straight forward to achieve by looping through the parameter and reconstructing the string through a combination of %index and %substr. However, as this macro may be called quite frequently, I am concerned about its efficiency.
So, in short, my question is: What is an efficient way to transform the string "A:abc,B:uvw,A:def,B:xyz" to "A:abc,def,B:uvw,xyz"?
Thanks.
For example, the macro variable, X, has a value of "A:abc,B:uvw" which is then concatenated with ",A:def,B:xyz" by a developer:
Code:
%let X = A:abc,B:uvw;
%macro TEST(VAR=%quote(&X,A:def,B:xyz));
%put &VAR;
%mend;
However, the macro TEST requires the macro parameter VAR to have the format "A:abc,def,B:uvw,xyz". This is relatively straight forward to achieve by looping through the parameter and reconstructing the string through a combination of %index and %substr. However, as this macro may be called quite frequently, I am concerned about its efficiency.
So, in short, my question is: What is an efficient way to transform the string "A:abc,B:uvw,A:def,B:xyz" to "A:abc,def,B:uvw,xyz"?
Thanks.