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 <jhurley0...@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 <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 > > -- Pete Molly's Revenge <http://www.mollysrevenge.com> _______________________________________________ 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