Counting Chars by ASCI Values
Cubist at aol.com
Cubist at aol.com
Wed Mar 1 08:08:24 EST 2006
In a message dated 2/28/06 6:20:02 PM, Todd Geist
<tg.lists at geistinteractive.com> writes:
>I need to count the number of times a Character occurs in text
>string. The character will be high or Low ASCII. SO I need to input
>the value as an ASCII value.
>
>Anybody have any scripts that can get me started?
The replies you've gotten thus far have used loops to explicitly count the
occurences of whatever-character-it-is. Here's a different way to do it,
using the "replace" function, which could be faster:
function HowManyCharXs TheText, ASCIIval
# TheText is whatever you're interested in counting the characters of
# ASCIIval is the ASCII value for the character you want to count
put the length of TheText into Fred
replace (numToChar (ASCIIval)) with "" in TheText
return (Fred - the length of TheText)
end HowManyCharXs
This function uses "the length of" twice for each character-count. If you
want to count multiple characters at any one time, it should be possible to
speed things up a trifle by eliminating nearly half of the needed "the length
of"s:
function CountManyChars TheText, ASCIIvals
# TheText is whatever you're interested in counting the characters of
# ASCIIvals is a comma-delimited list of ASCII values for all characters
you want to count
put the length of TheText into Fred
put "" into Rezultz
repeat for each item II in ASCIIvals
replace (numToChar (II)) with "" in TheText
put the length of TheText into George
put (Fred - George) into item (1 + the number of items in Rezultz) of
Rezultz
put George into Fred
end repeat
return Rezultz
end CountManyChars
Hope this helps...
More information about the use-livecode
mailing list