<?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: Extracting values from a string in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Extracting-values-from-a-string/m-p/354379#M273946</link>
    <description>&lt;P&gt;Like this?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input string $20.;
infile datalines dlm = ',';
datalines;
1.94E+4 (4.29)
5.54E+4 (4.74)
1.19E+4 (4.08)
2.76E+4 (4.44)
8.29E+4 (4.92)
&amp;lt;2.00E+1 (1.30)
2.99E+5 (5.48)
No results found
;

data want;
	set have;
	
	if string = 'No results found' then do;
		Wanted_Counts = string;
		Wanted_LogCounts = string;
	end;

	else do;
		Wanted_Counts = scan(string,1,' ');
		Wanted_LogCounts = compress(compress(scan(string,2,' '),'(',),')');
	end;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Fri, 28 Apr 2017 09:56:55 GMT</pubDate>
    <dc:creator>PeterClemmensen</dc:creator>
    <dc:date>2017-04-28T09:56:55Z</dc:date>
    <item>
      <title>Extracting values from a string</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Extracting-values-from-a-string/m-p/354375#M273944</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;I have 8 observations of&amp;nbsp;clinical results expresed in expenential counts (e.g., 1.94E+4) plus&amp;nbsp;their corresponding log values within&amp;nbsp;parentheses, e.g., (4.29) in a chracter string. I would like to parse this string and extract the two sets of values into two separate variables (counts, logCounts). I think a perl or scan function can help me with this. A "no results" would also be carried forward to the variable.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;string &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; wanted result: Counts &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;wanted result: logCounts&lt;/P&gt;
&lt;P&gt;"1.94E+4 (4.29)" &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1.94E+4 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 4.29&lt;BR /&gt;"5.54E+4 (4.74)" &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;5.54E+4 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;4.74&lt;BR /&gt;"1.19E+4 (4.08)" &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1.19E+4 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;4.08&lt;BR /&gt;"2.76E+4 (4.44)" &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2.76E+4 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 4.44&lt;BR /&gt;"8.29E+4 (4.92)" &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 8.29E+4 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 4.92&lt;BR /&gt;"&amp;lt; 2.00E+1 (1.30)" &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;2.00E+1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1.30&lt;BR /&gt;"2.99E+5 (5.48)" &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2.99E+5 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;5.48&lt;/P&gt;
&lt;P&gt;"No results found" &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;SPAN&gt;No results found &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;No results found&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;I am running SAS 9.4 on Windows 7.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;--tim&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 28 Apr 2017 09:40:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Extracting-values-from-a-string/m-p/354375#M273944</guid>
      <dc:creator>tallkell</dc:creator>
      <dc:date>2017-04-28T09:40:44Z</dc:date>
    </item>
    <item>
      <title>Re: Extracting values from a string</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Extracting-values-from-a-string/m-p/354378#M273945</link>
      <description>&lt;P&gt;&lt;STRONG&gt;Post test data in the form of a datastep!&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As such this code is untested, and I assume the two wants are string:&lt;/P&gt;
&lt;PRE&gt;data want;
  set have;
  counts=scan(string,1,"(");
  logcounts=compress(scan(string,2,"("),")");
run;&lt;/PRE&gt;</description>
      <pubDate>Fri, 28 Apr 2017 09:49:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Extracting-values-from-a-string/m-p/354378#M273945</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2017-04-28T09:49:07Z</dc:date>
    </item>
    <item>
      <title>Re: Extracting values from a string</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Extracting-values-from-a-string/m-p/354379#M273946</link>
      <description>&lt;P&gt;Like this?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input string $20.;
infile datalines dlm = ',';
datalines;
1.94E+4 (4.29)
5.54E+4 (4.74)
1.19E+4 (4.08)
2.76E+4 (4.44)
8.29E+4 (4.92)
&amp;lt;2.00E+1 (1.30)
2.99E+5 (5.48)
No results found
;

data want;
	set have;
	
	if string = 'No results found' then do;
		Wanted_Counts = string;
		Wanted_LogCounts = string;
	end;

	else do;
		Wanted_Counts = scan(string,1,' ');
		Wanted_LogCounts = compress(compress(scan(string,2,' '),'(',),')');
	end;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 28 Apr 2017 09:56:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Extracting-values-from-a-string/m-p/354379#M273946</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2017-04-28T09:56:55Z</dc:date>
    </item>
  </channel>
</rss>

