I probably suck on this since I'm a noob, but the nevertheless I had fun with this one.. :D This is not optimized so it might have some overhead. I also nicked a piece of code from brian's one and changed it to my needs, hopefully you can forgive me ;)

button script:

on mouseUp
 put "This is a  test-piece." into sourceText
 put whole("a test",sourceText) & return after tString
 put whole("is a test-piece",sourceText) & return after tString
 put whole("is  a test-piece.",sourceText) & return after tString
 put "This is a great script - Brian did good!" into sourceText
 put whole("script - Brian",sourceText) & return after tString
 answer tString
end mouseUp


function whole stringToFind, sourceText
 set the caseSensitive to true
 set the wholematches to TRUE
 put zero into tSkip
 repeat while wordOffset(word 1 of stringToFind, sourceText, tSkip) > 0
   add wordOffset(word 1 of stringToFind, sourceText, tSkip) to tSkip
   put FALSE into tReturn
   repeat with x=2 to the number of words in stringToFind
get matchText(word x of stringToFind, "^" & word (tSkip-1+x) of sourceText & "$" )
     if it is FALSE then
put stripPunctuation(word (tSkip-1+x) of sourceText) into strippedString
       get matchText(word x of stringToFind, "^" & strippedString & "$")
       if it is not TRUE then
         put FALSE into tReturn
         exit repeat
       else
         put TRUE into tReturn
       end if
     else
       put TRUE into tReturn
     end if
   end repeat
   if tReturn is TRUE then
     return TRUE
     exit whole
   end if
 end repeat
 return FALSE
end whole


function stripPunctuation tString
 repeat for each char c in (";:.,!?"&return)
       replace c with empty in tString
   end repeat
   return tString
end stripPunctuation


[EMAIL PROTECTED] wrote:
There is a wee challenge I posted to the metacard list for a function that returns whether a whole text string is in a variable (must handle all punctuation and ends of line etc), along the lines of...

put "This is a test-piece." into sourceText (note the punctuation and hyphen)
whole("a test",sourceText)   =>  FALSE
whole("is a test-piece",sourceText)  => TRUE
whole("is  a test-piece.",sourceText)  => TRUE

There have been some good attempts but it has yet to be solved completely. Perhaps someone on this list is up for it. /H



Fri Jun 29 Jacqueline Landman Gay  wrote:

 I do miss those scripting challenges though. I wish  this
list would indulge more, it was great fun. The last one I can  recall on
this list was the creation of a working clock face. By the time everyone
was done we had a very efficient and effective  script, and I think
everyone who followed the exchange learned a  lot.


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

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

Reply via email to