<?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 Re: Meaning of !! after the strip() function in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Meaning-of-after-the-strip-function/m-p/765511#M242479</link>
    <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/339434"&gt;@Buzzy_Bee&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Thank you, Balladw. That is indeed how I would have written that line of code (I use the new CAT() functions, such as the CATX() function that you suggested). Originally at university I was taught the pipe symbol (|) that you mentioned, prior to the introduction of the CAT() functions in SAS, but the exclamation is certainly the rarer symbol that I don't often see.&lt;/P&gt;
&lt;P&gt;I read once that it is considered to be an outdated SAS programming style to still use symbols instead of the CAT() functions. Does anyone have an opinion on that? I think SAS courses these days only teach the CAT() functions now from what I've seen.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;SAS supports a lot of their "old" coding so production jobs don't break. Try to find "Do over" in the documentation for example for use with arrays. Still works.&lt;/P&gt;
&lt;P&gt;Because of the almost universal need for Strip() with || to get expected results I suspect that is major reason for teaching the CAT functions.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Of course Strip, to me, is a "new" function having learned Trim(left(variable)) before it was introduced.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 01 Sep 2021 21:16:31 GMT</pubDate>
    <dc:creator>ballardw</dc:creator>
    <dc:date>2021-09-01T21:16:31Z</dc:date>
    <item>
      <title>Meaning of !! after the strip() function</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Meaning-of-after-the-strip-function/m-p/765487#M242471</link>
      <description>&lt;P&gt;Could someone please remind me what !! means in SAS programming? I was viewing this page below where someone had offered an example that uses strip() followed by !!&lt;/P&gt;
&lt;P&gt;I remember learning this a few years ago, but I can't recall now what the double exclamation does when used after the strip function. Thanks!!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://communities.sas.com/t5/SAS-Programming/SAS-strip-function-doesn-t-work/td-p/434757" target="_blank"&gt;Solved: SAS strip function doesn't work - SAS Support Communities&lt;/A&gt;&lt;/P&gt;
&lt;PRE class="language-sas"&gt;&lt;CODE&gt;data test;
     char=strip('ALTEPLASE INJECTION 2 MG  ') !! 'Extra text';
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 01 Sep 2021 20:01:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Meaning-of-after-the-strip-function/m-p/765487#M242471</guid>
      <dc:creator>Buzzy_Bee</dc:creator>
      <dc:date>2021-09-01T20:01:25Z</dc:date>
    </item>
    <item>
      <title>Re: Meaning of !! after the strip() function</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Meaning-of-after-the-strip-function/m-p/765489#M242472</link>
      <description>&lt;P&gt;Two exclamation marks are one method to write the simple concatenation operator.&lt;/P&gt;</description>
      <pubDate>Wed, 01 Sep 2021 20:06:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Meaning-of-after-the-strip-function/m-p/765489#M242472</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2021-09-01T20:06:01Z</dc:date>
    </item>
    <item>
      <title>Re: Meaning of !! after the strip() function</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Meaning-of-after-the-strip-function/m-p/765498#M242475</link>
      <description>&lt;P&gt;Thanks again, Kurt. I knew I'd seen them, but I couldn't think where. These days I always use CAT(), CATS() etc, so I'd forgotten about !! that was used before the introduction of the new concatenation functions.&lt;/P&gt;</description>
      <pubDate>Wed, 01 Sep 2021 20:43:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Meaning-of-after-the-strip-function/m-p/765498#M242475</guid>
      <dc:creator>Buzzy_Bee</dc:creator>
      <dc:date>2021-09-01T20:43:52Z</dc:date>
    </item>
    <item>
      <title>Re: Meaning of !! after the strip() function</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Meaning-of-after-the-strip-function/m-p/765499#M242476</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/339434"&gt;@Buzzy_Bee&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Could someone please remind me what !! means in SAS programming? I was viewing this page below where someone had offered an example that uses strip() followed by !!&lt;/P&gt;
&lt;P&gt;I remember learning this a few years ago, but I can't recall now what the double exclamation does when used after the strip function. Thanks!!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://communities.sas.com/t5/SAS-Programming/SAS-strip-function-doesn-t-work/td-p/434757" target="_blank" rel="noopener"&gt;Solved: SAS strip function doesn't work - SAS Support Communities&lt;/A&gt;&lt;/P&gt;
&lt;LI-CODE lang="sas"&gt;data test;
     char=strip('ALTEPLASE INJECTION 2 MG  ') !! 'Extra text';
run;&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Older keyboards/ text displays didn't support the | character. So ! is used instead.&lt;/P&gt;
&lt;P&gt;Some people copy or use intentionally.&lt;/P&gt;
&lt;P&gt;the above might be better done as&lt;/P&gt;
&lt;PRE&gt;data test;
     char=catx(' ','ALTEPLASE INJECTION 2 MG', 'Extra text');
run;&lt;/PRE&gt;
&lt;P&gt;The CATX function will place the text in the first position, in this case a single space, between all the other parameters (could be variables, expressions or literal text as above) and strips all of the other parameters.&lt;/P&gt;</description>
      <pubDate>Wed, 01 Sep 2021 20:45:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Meaning-of-after-the-strip-function/m-p/765499#M242476</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2021-09-01T20:45:05Z</dc:date>
    </item>
    <item>
      <title>Re: Meaning of !! after the strip() function</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Meaning-of-after-the-strip-function/m-p/765502#M242478</link>
      <description>&lt;P&gt;Thank you, Balladw. That is indeed how I would have written that line of code (I use the new CAT() functions, such as the CATX() function that you suggested). Originally at university I was taught the pipe symbol (|) that you mentioned, prior to the introduction of the CAT() functions in SAS, but the exclamation is certainly the rarer symbol that I don't often see.&lt;/P&gt;
&lt;P&gt;I read once that it is considered to be an outdated SAS programming style to still use symbols instead of the CAT() functions. Does anyone have an opinion on that? I think SAS courses these days only teach the CAT() functions now from what I've seen.&lt;/P&gt;</description>
      <pubDate>Wed, 01 Sep 2021 20:52:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Meaning-of-after-the-strip-function/m-p/765502#M242478</guid>
      <dc:creator>Buzzy_Bee</dc:creator>
      <dc:date>2021-09-01T20:52:48Z</dc:date>
    </item>
    <item>
      <title>Re: Meaning of !! after the strip() function</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Meaning-of-after-the-strip-function/m-p/765511#M242479</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/339434"&gt;@Buzzy_Bee&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Thank you, Balladw. That is indeed how I would have written that line of code (I use the new CAT() functions, such as the CATX() function that you suggested). Originally at university I was taught the pipe symbol (|) that you mentioned, prior to the introduction of the CAT() functions in SAS, but the exclamation is certainly the rarer symbol that I don't often see.&lt;/P&gt;
&lt;P&gt;I read once that it is considered to be an outdated SAS programming style to still use symbols instead of the CAT() functions. Does anyone have an opinion on that? I think SAS courses these days only teach the CAT() functions now from what I've seen.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;SAS supports a lot of their "old" coding so production jobs don't break. Try to find "Do over" in the documentation for example for use with arrays. Still works.&lt;/P&gt;
&lt;P&gt;Because of the almost universal need for Strip() with || to get expected results I suspect that is major reason for teaching the CAT functions.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Of course Strip, to me, is a "new" function having learned Trim(left(variable)) before it was introduced.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 01 Sep 2021 21:16:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Meaning-of-after-the-strip-function/m-p/765511#M242479</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2021-09-01T21:16:31Z</dc:date>
    </item>
  </channel>
</rss>

