Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: Help using textscan or sscanf
Replies: 21   Last Post: Jan 23, 2013 4:02 PM

 Messages: [ Previous | Next ]
 dpb Posts: 9,850 Registered: 6/7/07
Re: Help using textscan or sscanf
Posted: Jan 16, 2013 1:18 PM

On 1/16/2013 11:30 AM, Kevin Ellis wrote:
> Hello,
>
> My problem is very simple, but I cannot find an efficient way to
> accomplish it. Here is an excerpt of my array (which is one column of a
> dataset):
>
> Subset001.AccountNumber(1:6,:)
>
> ans =
> '154045001'
> '926665001'
> '615017'
> '1976936151'
> '801700'
> '4506702001'
>
> I am trying to create a new account number in the form of a string. I
> need to append '4412' to the the last 9 digits of the above account
> numbers. So for the results is:
>
> '4412154045001'
> '4412926665001' - Account Numbers have 9 digits so this is easy
> '4412615017' - Only has 6 digits so take the whole account number
> '4412976936151' - Has 10 digits so drop first and append to '4412'
> etc.
>
> So my problem is difficult in that I need to use sscanf to find the last
> 9 digits of the account number...

Nope...

>> s
=strvcat('154045001','926665001','615017','1976936151','801700','4506702001');
>> [repmat('4412',6,1) s(:,end-9:end)]
ans =
4412154045001
4412926665001
4412615017
44121976936151
4412801700
44124506702001
>>

I'd suggest in the end it _might_ be better to "normalize" the account
no's by prepending zeros for the short strings. Then they would sort,
etc., more nearly normally (for at least one definition of "normal",
anyway).

--

Date Subject Author
1/16/13 Kevin Ellis
1/16/13 dpb
1/16/13 Kevin Ellis
1/16/13 dpb
1/16/13 Kevin Ellis
1/16/13 dpb
1/17/13 dpb
1/17/13 dpb
1/19/13 dpb
1/19/13 dpb
1/19/13 dpb
1/20/13 Kevin Ellis
1/20/13 dpb
1/20/13 james bejon
1/20/13 Kevin Ellis
1/20/13 james bejon
1/21/13 james bejon
1/22/13 Kevin Ellis
1/22/13 james bejon
1/23/13 Doug Schwarz
1/23/13 james bejon