>>
function FirstPosAlpha
>>lparameter tcString
>>local lcNewString, lnPos
>>
>>lcNewString = alltrim(chrtran(m.tcString, [1234567890],''))
>>
>>RETURN at( left( m.lcNewString, 1 ), m.tcString )
>
>Exactly, it's so simple that it has to be wrong <g>
>
>BTW, we don't need lnPos anymore.
Right you are. How about this one? <g>
function FirstPosAlpha
lparameter tcString
RETURN at( left( alltrim( chrtran( m.tcString, [1234567890], '' ) ), 1 ), m.tcString )
And an even shorter (not quicker) one is:
function FirstPosAlpha
lparameter tcString
RETURN at( left( chrtran( m.tcString, [1234567890 ], '' ) ), 1 ), m.tcString )
But this is essentially the same algorithm that Hugo proposed here:
Re: Find position 1st Occurance of nonnumeric value in a str Thread #
1280661 Message #
1280664And Borislav here:
Re: Find position 1st Occurance of nonnumeric value in a str Thread #
1280661 Message #
1280669
Groet,
Peter de Valença
Constructive frustration is the breeding ground of genius.
If there’s no willingness to moderate for the sake of good debate, then I have no willingness to debate at all.
Let's develop superb standards that will end the holy wars.
"There are three types of people: Alphas and Betas", said the beta decisively.
If you find this message rude or offensive or stupid, please take a step away from the keyboard and try to think calmly about an eventual a possible alternative explanation of my message.