is among the words AND find words

Pete pete at mollysrevenge.com
Wed Dec 21 00:44:34 CST 2011


Hi Jim,
Try using the token keyword.  There is no tokenOffset command so you will
have to use a "repeat for each token t..." construct and check t for "time"
but it will return "time as a token.  The comma will be returned as a token
as well.

On Tue, Dec 20, 2011 at 9:10 PM, Jim Hurley <jhurley0305 at sbcglobal.net>wrote:

> 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 <bobs at twft.com>
> >> To: How to use LiveCode <use-livecode at lists.runrev.com>
> >> Subject: Re: is among the words AND find words
> >> Message-ID: <F68E06CA-9008-483A-B6AD-D91E5AC1F011 at 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 at 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 at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
>


-- 
Pete
Molly's Revenge <http://www.mollysrevenge.com>


More information about the use-livecode mailing list