Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Most efficient way to reorder a string

Status
Not open for further replies.

Hermes22

Programmer
Apr 16, 2010
2
FR
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:

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.
 
Not sure why the tag formatting didn't work first time round...

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:

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.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top