<?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: substr only the address line in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/substr-only-the-address-line/m-p/517398#M139873</link>
    <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I tried your approach, but for countw function it gives me warning .&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data A;&lt;BR /&gt;INPUT ADDRESS $50.;&lt;BR /&gt;DATALINES;&lt;BR /&gt;2001 P LARRY MN MINNESOTA MN 606123714 US&lt;BR /&gt;345 R TEENA TR FRANCE ST TN 60612345 UK&lt;BR /&gt;RUN;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;DATA B;&lt;BR /&gt;SET A;&lt;BR /&gt;do i = 1 to countw(ADDRESS) - 3;&lt;BR /&gt;tempvar = catx(' ',tempvar,scan(ADDRESS,i));&lt;BR /&gt;end;&lt;BR /&gt;charvar = tempvar;&lt;BR /&gt;drop i tempvar;&lt;BR /&gt;RUN;&lt;/P&gt;</description>
    <pubDate>Fri, 30 Nov 2018 08:54:38 GMT</pubDate>
    <dc:creator>monikka1991</dc:creator>
    <dc:date>2018-11-30T08:54:38Z</dc:date>
    <item>
      <title>substr only the address line</title>
      <link>https://communities.sas.com/t5/SAS-Programming/substr-only-the-address-line/m-p/517386#M139865</link>
      <description>&lt;P&gt;have to look from the last by space delimiter and remove the last three strings&amp;nbsp; WHICH IS COUNTRY , ZIPCODE,STATE CODE&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I HAVE&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;2001 P&amp;nbsp;LARRY MN MINNESOTA MN&amp;nbsp;606123714 US&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;345 R&amp;nbsp;TEENA&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;TR FRANCE&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp; ST TN&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;60612345&amp;nbsp;UK&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;WHAT I WANT:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;2001 P&amp;nbsp;LARRY MN MINNESOTA&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;345 R&amp;nbsp;TEENA&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;TR FRANCE&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp; ST&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 30 Nov 2018 07:58:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/substr-only-the-address-line/m-p/517386#M139865</guid>
      <dc:creator>monikka1991</dc:creator>
      <dc:date>2018-11-30T07:58:53Z</dc:date>
    </item>
    <item>
      <title>Re: substr only the address line</title>
      <link>https://communities.sas.com/t5/SAS-Programming/substr-only-the-address-line/m-p/517388#M139867</link>
      <description>&lt;P&gt;Brute force attack:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;do i = 1 to countw(charvar) - 3;
  tempvar = catx(' ',tempvar,scan(charvar,i));
end;
charvar = tempvar;
drop i tempvar;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;For tested code, provide example data in a data step with datalines.&lt;/P&gt;</description>
      <pubDate>Fri, 30 Nov 2018 08:16:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/substr-only-the-address-line/m-p/517388#M139867</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2018-11-30T08:16:58Z</dc:date>
    </item>
    <item>
      <title>Re: substr only the address line</title>
      <link>https://communities.sas.com/t5/SAS-Programming/substr-only-the-address-line/m-p/517393#M139870</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;	POSION=prxmatch('m/(\S+\s+\S+\s+\S+)$/',trim(text));
	if POSION&amp;gt;1 then result=substr(text,1,POSION-1);&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 30 Nov 2018 09:11:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/substr-only-the-address-line/m-p/517393#M139870</guid>
      <dc:creator>learsaas</dc:creator>
      <dc:date>2018-11-30T09:11:35Z</dc:date>
    </item>
    <item>
      <title>Re: substr only the address line</title>
      <link>https://communities.sas.com/t5/SAS-Programming/substr-only-the-address-line/m-p/517398#M139873</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I tried your approach, but for countw function it gives me warning .&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data A;&lt;BR /&gt;INPUT ADDRESS $50.;&lt;BR /&gt;DATALINES;&lt;BR /&gt;2001 P LARRY MN MINNESOTA MN 606123714 US&lt;BR /&gt;345 R TEENA TR FRANCE ST TN 60612345 UK&lt;BR /&gt;RUN;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;DATA B;&lt;BR /&gt;SET A;&lt;BR /&gt;do i = 1 to countw(ADDRESS) - 3;&lt;BR /&gt;tempvar = catx(' ',tempvar,scan(ADDRESS,i));&lt;BR /&gt;end;&lt;BR /&gt;charvar = tempvar;&lt;BR /&gt;drop i tempvar;&lt;BR /&gt;RUN;&lt;/P&gt;</description>
      <pubDate>Fri, 30 Nov 2018 08:54:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/substr-only-the-address-line/m-p/517398#M139873</guid>
      <dc:creator>monikka1991</dc:creator>
      <dc:date>2018-11-30T08:54:38Z</dc:date>
    </item>
    <item>
      <title>Re: substr only the address line</title>
      <link>https://communities.sas.com/t5/SAS-Programming/substr-only-the-address-line/m-p/517400#M139874</link>
      <description>&lt;P&gt;Add a statement that forces tempvar to be created as character:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data b;
set a;
length tempvar $50;
do i = 1 to countw(address) - 3;
  tempvar = catx(' ',tempvar,scan(address,i));
end;
charvar = tempvar;
drop i tempvar;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 30 Nov 2018 09:00:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/substr-only-the-address-line/m-p/517400#M139874</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2018-11-30T09:00:01Z</dc:date>
    </item>
    <item>
      <title>Re: substr only the address line</title>
      <link>https://communities.sas.com/t5/SAS-Programming/substr-only-the-address-line/m-p/517401#M139875</link>
      <description>&lt;P&gt;That second example row does not look right.&amp;nbsp; We do not have "zipcode's" in the UK, nor "states".&amp;nbsp; What I would suggest, as its obviously US data you are using, is to&amp;nbsp;find the first numeric, then substr to that -3, something like:&lt;/P&gt;
&lt;PRE&gt;data want;
  set have;
  want=substr(have,1,findc(have,"","d")-3);
run;&lt;/PRE&gt;</description>
      <pubDate>Fri, 30 Nov 2018 09:04:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/substr-only-the-address-line/m-p/517401#M139875</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2018-11-30T09:04:57Z</dc:date>
    </item>
    <item>
      <title>Re: substr only the address line</title>
      <link>https://communities.sas.com/t5/SAS-Programming/substr-only-the-address-line/m-p/517439#M139894</link>
      <description>&lt;P&gt;I have attached input excel&lt;/P&gt;&lt;P&gt;&amp;nbsp;PROC IMPORT OUT=&amp;nbsp;HAVE&lt;BR /&gt;DATAFILE= "\LOCATION\INPUT.XLSX"&lt;BR /&gt;DBMS=EXCEL REPLACE;&lt;BR /&gt;GETNAMES=YES;&lt;BR /&gt;MIXED=NO;&lt;BR /&gt;SCANTEXT=YES;&lt;BR /&gt;USEDATE=YES;&lt;BR /&gt;SCANTIME=YES;&lt;BR /&gt;RUN;&lt;/P&gt;&lt;P&gt;Need to remove city state , zip from address field . If I go by position of space placed , there would be a problem when city is having space in between. (example : &lt;STRONG&gt;new York)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;So I have tried below method to derive only address&lt;/P&gt;&lt;P&gt;data want(DROP=I ADDRESS COMB);&lt;BR /&gt;set&amp;nbsp;have ;&lt;BR /&gt;length hcp_address_1 $50.;&lt;BR /&gt;comb = cat(strip(City)," ",strip(STATE)," ",strip(ZIP));&lt;BR /&gt;do i = 1 to countw(address) - countw(comb);&lt;BR /&gt;hcp_address_1 = catx(' ', address_1,scan(address,i-1));&lt;BR /&gt;end;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 30 Nov 2018 12:07:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/substr-only-the-address-line/m-p/517439#M139894</guid>
      <dc:creator>monikka1991</dc:creator>
      <dc:date>2018-11-30T12:07:36Z</dc:date>
    </item>
    <item>
      <title>Re: substr only the address line</title>
      <link>https://communities.sas.com/t5/SAS-Programming/substr-only-the-address-line/m-p/517476#M139916</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input x $60.;
call scan(x,-3,p,l,' ');
want=substr(x,1,p-1);
drop p l;
cards;
2001 P LARRY MN MINNESOTA MN 606123714 US
345 R TEENA TR FRANCE  ST TN 60612345 UK
;
run;

proc print;run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 30 Nov 2018 14:08:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/substr-only-the-address-line/m-p/517476#M139916</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2018-11-30T14:08:07Z</dc:date>
    </item>
  </channel>
</rss>

