Date: Fri, 20 Aug 2010 12:40:49 -0400
Reply-To: Tom Abernathy <tom.abernathy@GMAIL.COM>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: Tom Abernathy <tom.abernathy@GMAIL.COM>
Subject: Re: Read missing values with scan function
* Convert all delimiter characeters to the same character ;
longtext=translate(longtext,',','.');
* Insert something between adjacent delimiters ;
do while (index(longtext,',,'));
longtext=tranwrd(longtext,',,',', ,');
end;
On Fri, 20 Aug 2010 16:35:53 +0100, Escarigo, Samuel
<Samuel.Escarigo@RBS.CO.UK> wrote:
>Thanks. Unfortunately I'm using 9.1.
>
>
>________________________________
>
>From: Yu Zhang [mailto:zhangyu05@gmail.com]
>Sent: 20 August 2010 16:32
>To: Escarigo, Samuel
>Cc: SAS-L@listserv.uga.edu
>Subject: Re: Read missing values with scan function
>
>
>if you are having 9.2, you can try 'M' modifier, which will treat
>consecutive delimiters as zero-width string.
>
>39 data _null_;
>40 longtext= 'var1,3.,var2.54,var3.12';
>41 scan1 = scan(longtext,1,',.','M');
>42 scan2 = scan(longtext,2,',.','M');
>43 scan3 = scan(longtext,3,',.','M');
>44 scan4 = scan(longtext,4,',.','M');
>45 put scan1= scan2= scan3= scan4=;
>46 run;
>
>scan1=var1 scan2=3 scan3= scan4=var2
>
>
|