Help using Base SAS procedures

deleting the first leading digit but in certain cases

Reply
Super Contributor
Posts: 395

deleting the first leading digit but in certain cases

Hi, I have a field with accounts that most (80%) have a 0 on the left side.. eg. 081513105 .. I would like to get rid of this leading 0, but only for the accounts that are 9 digits in length and only if the leading is a 0.. if not 0 or less/more than 9 digits in length to leave as is... Any easy way to do this ?  Thank you.

Grand Advisor
Posts: 10,043

Re: deleting the first leading digit but in certain cases

Assuming this is actually a character value...

in a datastep something like this with your variable should work

if length (variable)=9 and substr(variable,1,1)='0' then variable = substr(variable,2);

Super Contributor
Posts: 578

Re: deleting the first leading digit but in certain cases

or you could convert it to numeric and back

Respected Advisor
Posts: 4,757

Re: deleting the first leading digit but in certain cases

What if it is 9 digits long and starrts with 2 zeros?  What if it is 10 digits long and starts with 2 zeros?

Super Contributor
Posts: 395

Re: deleting the first leading digit but in certain cases

Thanks all, all valid questions and points.  But for my "small" enough data, ballardw's solution works well..  But totally agree if the data was larger and a whoel mix of scenarios.

Ask a Question
Discussion stats
  • 4 replies
  • 172 views
  • 3 likes
  • 4 in conversation