<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic identifying AND which is not inside quotes and replace it with pipe in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/identifying-AND-which-is-not-inside-quotes-and-replace-it-with/m-p/768267#M243664</link>
    <description>&lt;P&gt;Hi I have below program,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;%let cri=abc in ('ABD' ' AND AND' 'PAND-AND AND' ' AND -AND' 'ABC') AND def in ('ABD' 'AND AND' 'PAND-AND AND' 'AND -AND' 'ABC'); &lt;BR /&gt;%let QUERY_CRITERIA_CMPRES=%sysfunc(compress(&amp;amp;cri.,()));&lt;BR /&gt;data _null_;&lt;BR /&gt;call symputx("QUERY_CRITERIA_PIPE",tranwrd("&amp;amp;QUERY_CRITERIA_CMPRES.","' AND ","'|"));&lt;BR /&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;%put &amp;amp;=QUERY_CRITERIA_PIPE;&lt;/P&gt;
&lt;P&gt;its working for outside of single quote AND which is required but it is also replacing AND which is inside quote, however i need to replace AND with pipe '|' only which are not in single quote. Anyone help?&lt;/P&gt;
&lt;P&gt;Expected output-&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;abc in ('ABD' ' AND AND' 'PAND-AND AND' ' AND -AND' 'ABC') | def in ('ABD' ' AND AND' 'PAND-AND AND' ' AND -AND' 'ABC');&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Fri, 17 Sep 2021 12:23:19 GMT</pubDate>
    <dc:creator>Tushar</dc:creator>
    <dc:date>2021-09-17T12:23:19Z</dc:date>
    <item>
      <title>identifying AND which is not inside quotes and replace it with pipe</title>
      <link>https://communities.sas.com/t5/SAS-Programming/identifying-AND-which-is-not-inside-quotes-and-replace-it-with/m-p/768267#M243664</link>
      <description>&lt;P&gt;Hi I have below program,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;%let cri=abc in ('ABD' ' AND AND' 'PAND-AND AND' ' AND -AND' 'ABC') AND def in ('ABD' 'AND AND' 'PAND-AND AND' 'AND -AND' 'ABC'); &lt;BR /&gt;%let QUERY_CRITERIA_CMPRES=%sysfunc(compress(&amp;amp;cri.,()));&lt;BR /&gt;data _null_;&lt;BR /&gt;call symputx("QUERY_CRITERIA_PIPE",tranwrd("&amp;amp;QUERY_CRITERIA_CMPRES.","' AND ","'|"));&lt;BR /&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;%put &amp;amp;=QUERY_CRITERIA_PIPE;&lt;/P&gt;
&lt;P&gt;its working for outside of single quote AND which is required but it is also replacing AND which is inside quote, however i need to replace AND with pipe '|' only which are not in single quote. Anyone help?&lt;/P&gt;
&lt;P&gt;Expected output-&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;abc in ('ABD' ' AND AND' 'PAND-AND AND' ' AND -AND' 'ABC') | def in ('ABD' ' AND AND' 'PAND-AND AND' ' AND -AND' 'ABC');&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 17 Sep 2021 12:23:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/identifying-AND-which-is-not-inside-quotes-and-replace-it-with/m-p/768267#M243664</guid>
      <dc:creator>Tushar</dc:creator>
      <dc:date>2021-09-17T12:23:19Z</dc:date>
    </item>
    <item>
      <title>Re: identifying AND which is not inside quotes and replace it with pipe</title>
      <link>https://communities.sas.com/t5/SAS-Programming/identifying-AND-which-is-not-inside-quotes-and-replace-it-with/m-p/768273#M243668</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/18408"&gt;@Ksharp&lt;/a&gt;&amp;nbsp;anyhelp?&lt;/P&gt;</description>
      <pubDate>Fri, 17 Sep 2021 12:40:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/identifying-AND-which-is-not-inside-quotes-and-replace-it-with/m-p/768273#M243668</guid>
      <dc:creator>Tushar</dc:creator>
      <dc:date>2021-09-17T12:40:58Z</dc:date>
    </item>
    <item>
      <title>Re: identifying AND which is not inside quotes and replace it with pipe</title>
      <link>https://communities.sas.com/t5/SAS-Programming/identifying-AND-which-is-not-inside-quotes-and-replace-it-with/m-p/768286#M243672</link>
      <description>&lt;PRE&gt;%let cri=abc in ('ABD' ' AND AND' 'PAND-AND AND' ' AND -AND' 'ABC') AND def in ('ABD' 'AND AND' 'PAND-AND AND' 'AND -AND' 'ABC');

data have;
have="&amp;amp;cri";
length want $ 200;
do i=1 to countw(have,"'",'m');
 if mod(i,2)=0 then want=catx(' ',want,quote(scan(have,i,"'",'m'),"'"));
 if mod(i,2)=1 then want=catx(' ',want,prxchange('s/AND/|/i',-1,scan(have,i,"'",'m')));
 end;
call symputx('want',want);
run;

%put &amp;amp;=cri;
%put &amp;amp;=want ;&lt;/PRE&gt;</description>
      <pubDate>Fri, 17 Sep 2021 13:31:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/identifying-AND-which-is-not-inside-quotes-and-replace-it-with/m-p/768286#M243672</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2021-09-17T13:31:30Z</dc:date>
    </item>
    <item>
      <title>Re: identifying AND which is not inside quotes and replace it with pipe</title>
      <link>https://communities.sas.com/t5/SAS-Programming/identifying-AND-which-is-not-inside-quotes-and-replace-it-with/m-p/768290#M243675</link>
      <description>Thanks it worked &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;</description>
      <pubDate>Fri, 17 Sep 2021 13:37:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/identifying-AND-which-is-not-inside-quotes-and-replace-it-with/m-p/768290#M243675</guid>
      <dc:creator>Tushar</dc:creator>
      <dc:date>2021-09-17T13:37:40Z</dc:date>
    </item>
  </channel>
</rss>

