Dear friends at SAS community
I have a dataset that has 4000 observations.
In this dataset, I have a variable var1 which contains text data like this"[123/121/324/345]". I need to extract the numbers as separate numeric variables. For any observation, there can be up to 30 numbers in var1 that I need to extract:
so I am trying to extract new1=123, new2=121, new3=324 and new4=345. I tried the following code:
new1=scan(compress(var1, '[]'),1,'/');
new2=scan(compress(var1, '[]'),2,'/');
new3=scan(compress(var1, '[]'),3,'/');
new4=scan(compress(var1, '[]'),4,'/');
but the results do not seem correct. The last number is missing and never extracted. Also, when an observation only has one number in var1, e.g. var1="[123]", new1 is missing rather than 123 that I want to have.
so for var1="[123/121/324/345]"; I got new1=123, new2=121, new3=324, new4=. when I want new4=345
for var1="[123]", I got new1=. when I want new1=123
any thoughts of a solution?
thanks
Raymond
... View more