You can use a for/next loop to look at all the characters to find combinations.
The function at the bottom is something that all old Basic programmers here eventually make for themselves. In Darkbasic "mid$" only outputs one character... this function acts just like "mid$" we're used to in Basic.
I wrote this in Pro but it should work in Classic.
a$="This is a :-) string with many :-)'s in it. :-)"
SmileCount=0
` Start at character 1 of the string and go through every letter till
` the end of the string "len(a$)"
for t=1 to len(a$)
` Check 3 chracters starting at t for the string ":-)"
if Mids(a$,t,3)=":-)"
inc SmileCount
endif
next t
print "Smiles in a$ = "+str$(SmileCount)
wait key
end
` True basic mid$ command
function Mids(t$,a,b)
a$=left$(right$(t$,len(t$)-a+1),b)
endfunction a$