Here's what I've been using for years, same idea, but more general:

function howmany tg,ctr
   if ctr = empty then return 0
   repeat for each item i in "8,7,6,5,4"
      put numtochar(i) into divChar
      if divChar is not in ctr then exit repeat
      if i = 4 then return "error in howmany()"
   end repeat
   replace tg with divChar in ctr
   set the itemdelimiter to divChar
   put the number of items of ctr into h
   if char -1 of ctr <> divChar then put h-1 into h
   return h
end howmany

This works for all strings. Note that there is an initial check to ensure that 
the replacement character is not contained in the string. The last if-then 
covers the anomaly that a trailing itemdelimiter is ignored in "the number of 
items of...".

-- Peter

Peter M. Brigham
[email protected]
http://home.comcast.net/~pmbrig


On Feb 22, 2012, at 10:47 PM, Bob Sneidar wrote:

> I am everyone's Uncle. Still, no repeat loops needed. See my solution.
> 
> Bob
> 
> 
> On Feb 22, 2012, at 7:44 PM, Jerry Jensen wrote:
> 
>> The offset() function has a third parameter: chars to skip. So if you call 
>> offset in a loop with the third param set to the previous result, and count 
>> loops until it returns 0, Bob's your uncle.
>> 
>> On Feb 22, 2012, at 7:37 PM, Andrew Kluthe wrote:
>> 
>>> function substringCount pChar, pString
>>>   put 0 into theCount
>>>   repeat for each char theChar in pString
>>>        if theChar is pChar then 
>>>             add 1 to theCount
>>>        end if
>>>   end repeat
>>>   return theCount
>>> end substringCount
>>> 
>>> 
>>> Would work out nicely if there is not built in function for this.
>>> 
>>> --
>>> View this message in context: 
>>> http://runtime-revolution.278305.n4.nabble.com/Get-number-of-occurrences-of-one-string-in-another-tp4412675p4412707.html
>>> Sent from the Revolution - User mailing list archive at Nabble.com.
>>> 
>>> _______________________________________________
>>> use-livecode mailing list
>>> [email protected]
>>> Please visit this url to subscribe, unsubscribe and manage your 
>>> subscription preferences:
>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>> 
>> 
>> _______________________________________________
>> use-livecode mailing list
>> [email protected]
>> Please visit this url to subscribe, unsubscribe and manage your subscription 
>> preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
> 
> 
> _______________________________________________
> use-livecode mailing list
> [email protected]
> Please visit this url to subscribe, unsubscribe and manage your subscription 
> preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode


_______________________________________________
use-livecode mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to