Amadeus cookies policy - you'll see this message only once.

Amadeus use cookies on this website. They help us to know a little bit about you and how you use our website, which improves the browsing experience and marketing - both for you and for others. They are stored locally on your computer or mobile device. To accept cookies, continue browsing as normal. Or, go to the privacy policy for more information.

Useful String Functions: strip, scanq, substrn

strip(string) - Removes leading and trailing blanks in one go. This is the same as left(trim(string)) that you would use in V8.

scanQ(string,position) – The scanq function allows the returning of separated words within a string like the scan function e.g. scan(‘Andy Bowden’,-1) = ‘Bowden’. The scanq function however allows you to ignore separators enclosed in quotation marks.

data _null_;
 return=scanq("Andy'-'Bowden'-'Amadeus-Software Ltd",2,'-');
 put return=;
run;

Running this produces the following in the log:

5 data _null_;
6   return=scanq("Andy'-'Bowden'-'Amadeus-Software Ltd",2,'-');
7   put return=;
8 run;
return=Software Ltd
NOTE: DATA statement used (Total process time):
      real time           0.10 seconds
      cpu time            0.00 seconds

substrn() – One of the annoying things with the substr function is the note you get in the log when the function returns a blank value.

data _null_;
 return=substr("Andy Bowden",20,2);
run;

will produce the following in the log:

9  data _null_;
10   return=substr("Andy Bowden",20,2);
11 run;
NOTE: Invalid second argument to function SUBSTR at line 10
column 12.
return=  _ERROR_=1 _N_=1
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.00 seconds

A way around this is to use the substrn function, which allows the returning of missing values.

data _null_;
 return_2nd=substrn("Andy Bowden",20,2);
run;

Using substrn will produce the following in the log:

data _null_;
 return_2nd=substrn("Andy Bowden",20,2);