<?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: separate a string into two variables in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/separate-a-string-into-two-variables/m-p/752351#M236970</link>
    <description>&lt;P&gt;Thank you&amp;nbsp;&lt;SPAN&gt;KurtBremser and Amir. Your suggestions both work.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 06 Jul 2021 16:29:30 GMT</pubDate>
    <dc:creator>fengyuwuzu</dc:creator>
    <dc:date>2021-07-06T16:29:30Z</dc:date>
    <item>
      <title>separate a string into two variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/separate-a-string-into-two-variables/m-p/752280#M236944</link>
      <description>&lt;P&gt;Below are what data I have, and I want to separate the visit into two variables: the first one is "visit x" and the second one is "Screening Cycle x" or "Treatment Cycle x".&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I wanted to use substr, but visit 10 and visit 11 have two digits and the rest visits have a single digit.&lt;/P&gt;
&lt;P&gt;I also tried scan but it did not work; maybe I did not use it properly.&lt;/P&gt;
&lt;P&gt;I wonder if someone can give some suggestions. Thanks&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 test;
input visit $50.;
datalines;
Screening Cycle 1 Visit 1
Screening Cycle 2 Visit 2
Screening Cycle 3 Visit 3
Screening Cycle 4 Visit 4
Visit 5 Treatment Cycle 1
Visit 6 Treatment Cycle 2
Visit 7 Treatment Cycle 3
Visit 8 Treatment Cycle 4
Visit 9 Treatment Cycle 5
Visit 10 Treatment Cycle 6
Visit 11 Treatment Completion
;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 06 Jul 2021 12:40:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/separate-a-string-into-two-variables/m-p/752280#M236944</guid>
      <dc:creator>fengyuwuzu</dc:creator>
      <dc:date>2021-07-06T12:40:29Z</dc:date>
    </item>
    <item>
      <title>Re: separate a string into two variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/separate-a-string-into-two-variables/m-p/752291#M236945</link>
      <description>&lt;P&gt;See this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data test;
input visit $50.;
datalines;
Screening Cycle 1 Visit 1
Screening Cycle 2 Visit 2
Screening Cycle 3 Visit 3
Screening Cycle 4 Visit 4
Visit 5 Treatment Cycle 1
Visit 6 Treatment Cycle 2
Visit 7 Treatment Cycle 3
Visit 8 Treatment Cycle 4
Visit 9 Treatment Cycle 5
Visit 10 Treatment Cycle 6
Visit 11 Treatment Completion
;

data want;
set test;
length var1 var2 $25;
if index(visit,"Visit") = 1
then do;
  var1 = catx(" ",scan(visit,1),scan(visit,2));
  var2 = catx(" ",scan(visit,3),scan(visit,4),scan(visit,5));
end;
else do;
  if countw(visit) = 4
  then do;
    var1 = catx(" ",scan(visit,3),scan(visit,4));
    var2 = catx(" ",scan(visit,1),scan(visit,2));
  end;
  else do;
    var1 = catx(" ",scan(visit,4),scan(visit,5));
    var2 = catx(" ",scan(visit,1),scan(visit,2),scan(visit,3));
  end;
end;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 06 Jul 2021 13:02:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/separate-a-string-into-two-variables/m-p/752291#M236945</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2021-07-06T13:02:15Z</dc:date>
    </item>
    <item>
      <title>Re: separate a string into two variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/separate-a-string-into-two-variables/m-p/752292#M236946</link>
      <description>&lt;P&gt;Why would SUBSTR have a problem?&amp;nbsp; Just select 8 characters.&amp;nbsp; You get "Visit" plus a number, possibly with a trailing blank that shouldn't affect the end result.&lt;/P&gt;</description>
      <pubDate>Tue, 06 Jul 2021 13:02:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/separate-a-string-into-two-variables/m-p/752292#M236946</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2021-07-06T13:02:19Z</dc:date>
    </item>
    <item>
      <title>Re: separate a string into two variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/separate-a-string-into-two-variables/m-p/752308#M236948</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/56807"&gt;@fengyuwuzu&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Does the following give you what you want?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input visit $50.;
datalines;
Screening Cycle 1 Visit 1
Screening Cycle 2 Visit 2
Screening Cycle 3 Visit 3
Screening Cycle 4 Visit 4
Visit 5 Treatment Cycle 1
Visit 6 Treatment Cycle 2
Visit 7 Treatment Cycle 3
Visit 8 Treatment Cycle 4
Visit 9 Treatment Cycle 5
Visit 10 Treatment Cycle 6
Visit 11 Treatment Completion
;


data want;
	set have;
	
	length
		visit_info $ 50
		cycle_info $ 50
	;
	
	if visit eq: 'Visit' then
		visit_info = catx(' ','Visit',scan(visit,2));
	else
		visit_info = catx(' ','Visit',scan(visit,-1));
		
	cycle_info = strip(tranwrd(visit,strip(visit_info),''));
run;&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;Thanks &amp;amp; kind regards,&lt;/P&gt;
&lt;P&gt;Amir.&lt;/P&gt;</description>
      <pubDate>Tue, 06 Jul 2021 13:27:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/separate-a-string-into-two-variables/m-p/752308#M236948</guid>
      <dc:creator>Amir</dc:creator>
      <dc:date>2021-07-06T13:27:50Z</dc:date>
    </item>
    <item>
      <title>Re: separate a string into two variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/separate-a-string-into-two-variables/m-p/752351#M236970</link>
      <description>&lt;P&gt;Thank you&amp;nbsp;&lt;SPAN&gt;KurtBremser and Amir. Your suggestions both work.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 06 Jul 2021 16:29:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/separate-a-string-into-two-variables/m-p/752351#M236970</guid>
      <dc:creator>fengyuwuzu</dc:creator>
      <dc:date>2021-07-06T16:29:30Z</dc:date>
    </item>
  </channel>
</rss>

