Think I will try something like this.

Test to see if the word, as a string, is in the text.
If so, then strip out all characters not between "a" and "z" or "A" and "Z"  
and then check to see if the stripped-down word is the same as the test word.

That way I will find "time" even if it appears as "(time)" or "time." or 
"time," or with quotes on either side, etc.

I wonder what algorithm LC uses in "Find word(s)" to find only words.

Jim Hurley

> Thanks Bob, Good thought, but it still doesn't work.
> 
> The script:
> 
> on mouseUp
>   put "now is the time, for all good men." into tText
>   set wholematches to true
>   --set wholematches to false
>   put wordOffset("time", tText) into temp1
>   put wordOffset("time," , tText) into temp2
> end mouseUp
> 
> shows 0 for temp1 and 4 for temp2. The comma in "time," is need to get a 
> match.
> 
> What I need is
> 
>   put wordOffset("time", "Now is the time, for all good men.") 
> 
> to show 4 when wholeMatches is true
> 
> It appears that there is no way in LiveCode to find whole words in a variable 
>  reliably.
> 
> Wish there were.
> 
> Jim Hurley
> 
> 
> 
>> From: Bob Sneidar <b...@twft.com>
>> To: How to use LiveCode <use-livecode@lists.runrev.com>
>> Subject: Re: is among the words AND find words
>> Message-ID: <f68e06ca-9008-483a-b6ad-d91e5ac1f...@twft.com>
>> Content-Type: text/plain; charset=us-ascii
>> 
>> Not sure if wholeMatches affects the find command, but if you set 
>> wholeMatches to true and then use wordOffset("time",field "myField") then I 
>> think you will get the results you are looking for. wordOffset() returns 0 
>> when it fails to find a match. 
>> 
>> Bob
>> 
>> 
>> On Dec 20, 2011, at 4:42 PM, Jim Hurley wrote:
>> 
>>> If the sentence:
>>> 
>>> "Now is the time, for all good men."
>>> 
>>> is within the field "myField" , then
>>> 
>>> find word "time" in field "myField" 
>>> 
>>> is successful. The word "time" is found despite the fact that it is not 
>>> delimited with spaces on either side.
>>> 
>>> But
>>> 
>>> "time" is among the words of "Now is the time, for all good men." 
>>> 
>>> returns false, since "is among the words" reads the comma after "time".  It 
>>> requires the spaces on either side of "time" as delimiters.
>>> 
>>> Has this come up before and has it been suggest that this be an enhancement?
>>> 
>>> That is to say, it would be helpful if "is among the words" and "find 
>>> word(s)" behave the same with respect to the space delimiter.
>>> 
>>> Or am I missing something?
>>> 
>>> Jim Hurley
>>> _______________________________________________
>>> use-livecode mailing list
>>> use-livecode@lists.runrev.com
>>> Please visit this url to subscribe, unsubscribe and manage your 
>>> subscription preferences:
>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>> 
>> 
>> 
> 

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

Reply via email to