<?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: finding a sequence of letters in observations from a character variable in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/finding-a-sequence-of-letters-in-observations-from-a-character/m-p/766405#M242886</link>
    <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/84351"&gt;@Emma_at_SAS&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;In the cars dataset from SASHELP, I wand to find any MODEL observation that contains "Cent" or "Quatt".&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;How about this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;model_var_f = find (Model, "cent", 'i') or find(model,'quatt','i');&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you have lots of strings to match, please see the method explained at&amp;nbsp;&lt;A href="https://communities.sas.com/t5/SAS-Programming/Check-if-a-list-of-substrings-is-in-a-string/td-p/766386" target="_blank" rel="noopener"&gt;https://communities.sas.com/t5/SAS-Programming/Check-if-a-list-of-substrings-is-in-a-string/td-p/766386&lt;/A&gt;&lt;/P&gt;</description>
    <pubDate>Tue, 07 Sep 2021 14:51:35 GMT</pubDate>
    <dc:creator>PaigeMiller</dc:creator>
    <dc:date>2021-09-07T14:51:35Z</dc:date>
    <item>
      <title>finding a sequence of letters in observations from a character variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/finding-a-sequence-of-letters-in-observations-from-a-character/m-p/766400#M242884</link>
      <description>&lt;P&gt;In the cars dataset from SASHELP, I wand to find any MODEL observation that contains "Cent" or "Quatt". I tried different find options and FIND looks to work to find one of the strings I am searching for. How may I search for multiple strings using one FIND function?&lt;/P&gt;
&lt;P&gt;I think of a practical example when I may want to find articles based on keywords. For example, all articles that have "gene" "genetic" "genetically" "allele" "genes" "inherited" "history" in their title where the title is a character variable in a SAS dataset.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you for your help!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data cars;
set sashelp.cars;
run;

data cars_model;
set cars;
Model_up=upcase(Model);
model_var_f = find (Model_up, "CENT");
model_var_fw = findw (Model_up, "CENT");
model_var_i = index (Model_up, "CENT");
model_var_ic = indexc (Model_up, "CENT");
model_var_iw = indexw (Model_up, "CENT");
run;

proc freq data=cars_model; tables model_up; run;
proc freq data=cars_model; tables model_var_f&amp;nbsp; model_var_fw&amp;nbsp; model_var_i&amp;nbsp; model_var_ic&amp;nbsp; model_var_iw; run;

&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 07 Sep 2021 14:42:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/finding-a-sequence-of-letters-in-observations-from-a-character/m-p/766400#M242884</guid>
      <dc:creator>Emma_at_SAS</dc:creator>
      <dc:date>2021-09-07T14:42:14Z</dc:date>
    </item>
    <item>
      <title>Re: finding a sequence of letters in observations from a character variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/finding-a-sequence-of-letters-in-observations-from-a-character/m-p/766405#M242886</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/84351"&gt;@Emma_at_SAS&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;In the cars dataset from SASHELP, I wand to find any MODEL observation that contains "Cent" or "Quatt".&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;How about this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;model_var_f = find (Model, "cent", 'i') or find(model,'quatt','i');&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you have lots of strings to match, please see the method explained at&amp;nbsp;&lt;A href="https://communities.sas.com/t5/SAS-Programming/Check-if-a-list-of-substrings-is-in-a-string/td-p/766386" target="_blank" rel="noopener"&gt;https://communities.sas.com/t5/SAS-Programming/Check-if-a-list-of-substrings-is-in-a-string/td-p/766386&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 07 Sep 2021 14:51:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/finding-a-sequence-of-letters-in-observations-from-a-character/m-p/766405#M242886</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2021-09-07T14:51:35Z</dc:date>
    </item>
    <item>
      <title>Re: finding a sequence of letters in observations from a character variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/finding-a-sequence-of-letters-in-observations-from-a-character/m-p/766566#M242954</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data cars;
set sashelp.cars;
if prxmatch('/Cent|Quatt/i',model);
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 08 Sep 2021 13:01:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/finding-a-sequence-of-letters-in-observations-from-a-character/m-p/766566#M242954</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2021-09-08T13:01:42Z</dc:date>
    </item>
    <item>
      <title>Re: finding a sequence of letters in observations from a character variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/finding-a-sequence-of-letters-in-observations-from-a-character/m-p/766595#M242968</link>
      <description>&lt;P&gt;Thank you&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/10892"&gt;@PaigeMiller&lt;/a&gt;&amp;nbsp; and&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/18408"&gt;@Ksharp&lt;/a&gt;&amp;nbsp;. Both your methods work. I have a follow-up question. How do I manage space before the stings? I know of STRIP command but I do not know how to use it in FIND or PRXMATCH. I appreciate your suggestions. Thanks&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 08 Sep 2021 14:38:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/finding-a-sequence-of-letters-in-observations-from-a-character/m-p/766595#M242968</guid>
      <dc:creator>Emma_at_SAS</dc:creator>
      <dc:date>2021-09-08T14:38:06Z</dc:date>
    </item>
    <item>
      <title>Re: finding a sequence of letters in observations from a character variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/finding-a-sequence-of-letters-in-observations-from-a-character/m-p/766604#M242975</link>
      <description>&lt;P&gt;Using the FIND command, you don't have to worry about leading blanks. If anywhere in the text string&amp;nbsp;&lt;SPAN&gt;"Cent" or "Quatt" is found, the leading blanks don't interfere.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;So, using the FIND command I showed, the model_var_f has value 1 for those models with&amp;nbsp;"Cent" or "Quatt" in the variable name.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;A potential problem is that this also finds the Hyundai Accent models, and maybe you don't want that? Again, easily fixed if you want to exclude Hyundai Accent models.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 08 Sep 2021 15:32:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/finding-a-sequence-of-letters-in-observations-from-a-character/m-p/766604#M242975</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2021-09-08T15:32:14Z</dc:date>
    </item>
    <item>
      <title>Re: finding a sequence of letters in observations from a character variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/finding-a-sequence-of-letters-in-observations-from-a-character/m-p/766623#M242979</link>
      <description>&lt;P&gt;Thank you&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/10892"&gt;@PaigeMiller&lt;/a&gt;. Your response was very helpful.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 08 Sep 2021 15:30:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/finding-a-sequence-of-letters-in-observations-from-a-character/m-p/766623#M242979</guid>
      <dc:creator>Emma_at_SAS</dc:creator>
      <dc:date>2021-09-08T15:30:50Z</dc:date>
    </item>
    <item>
      <title>Re: finding a sequence of letters in observations from a character variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/finding-a-sequence-of-letters-in-observations-from-a-character/m-p/766845#M243070</link>
      <description>Give us an example ?</description>
      <pubDate>Thu, 09 Sep 2021 13:24:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/finding-a-sequence-of-letters-in-observations-from-a-character/m-p/766845#M243070</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2021-09-09T13:24:07Z</dc:date>
    </item>
    <item>
      <title>Re: finding a sequence of letters in observations from a character variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/finding-a-sequence-of-letters-in-observations-from-a-character/m-p/767230#M243210</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/84351"&gt;@Emma_at_SAS&lt;/a&gt;&amp;nbsp; Below a coding option which would allow you to only change an informat to change the set of terms to look for.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data cars;
  set sashelp.cars;
run;

proc format;
  invalue myterms_find
    '/\b(cent|quatt)/i' (regexp) = 1
    other=0
    ;
  invalue $myterms_get
    's/^.*?(\b(cent|quatt).*?\b).*$/$1/i' (regexpe) =  _same_
    other= ' '
    ;
  invalue $mycategory_get
    's/^.*?\b(cent|quatt).*$/$1/i' (regexpe) =  _same_
    other= ' '
    ;
run;

data want;
  length category $10 term $20;
  set cars;
  if input(strip(model),myterms_find.)=1;
  /* first term selected if multiple matching terms */
  category=input(strip(model),$mycategory_get.);
  term    =input(strip(model),$myterms_get.);
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Patrick_0-1631414196299.png" style="width: 594px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/63514i90AA04F764EB7AFB/image-dimensions/594x366?v=v2" width="594" height="366" role="button" title="Patrick_0-1631414196299.png" alt="Patrick_0-1631414196299.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 12 Sep 2021 02:36:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/finding-a-sequence-of-letters-in-observations-from-a-character/m-p/767230#M243210</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2021-09-12T02:36:52Z</dc:date>
    </item>
  </channel>
</rss>

