• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Searching for "whole word" in NSString
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Searching for "whole word" in NSString


  • Subject: Re: Searching for "whole word" in NSString
  • From: Mike Wright <email@hidden>
  • Date: Wed, 30 Jan 2008 11:17:27 -0500

On 29 Jan 2008 12:05:09 -0800, Douglas Davidson <email@hidden> wrote:

On Jan 29, 2008, at 11:38 AM, John Stiles wrote:

Oh well, off to Radar to file a bug on the Find panel, and I'll
figure out some sort of solution. I can probably use NSCharacterSet
or something and look at the characters on either side of the found
text. I was hoping to avoid that, but it looks like I can't.

You should still be able to build on doubleClickAtIndex: to determine word boundaries at either end of your search string and in the found text, and then implement whatever boundary-matching semantics you choose on top of that, without having to use NSCharacterSet or anything of the sort. Word boundary detection is complicated enough (cf. UAX #29, "Text Boundaries", at http://www.unicode.org/reports/tr29/) that you really don't want to have to implement it yourself.

So, to use doubleClickAtIndex: to handle phrases like "want to see some", you should be able to apply it twice (to the first and last characters of the found substring range), combine the returned ranges, and see if the combined range matches the range you get for your found substring. Say this is "foundRange", would the indexes you use be foundRange.location and foundRange.length-1? That should handle even a single-character target, shouldn't it?


Unfortunately, testing a simple case in TextEdit, it seems that it can treat neither "a:" nor ":a" as "words". Since I sometimes perform whole-word (whole-phrase?) searches for such combinations, myself, I'm sure some of my customers do, to. (Since it would be off-topic, I won't mention how much I hate that Google doesn't respect non- alphanumerics in quoted search keys, except to say that the only criterion for "correct" behavior in commercial software should be what the customer expects--versus what is easy for the programmer.)

(I'm assuming, on the basis of earlier messages, that the Find Panel in TextEdit uses doubleClickAtIndex:.)

Regards,
Mike Wright
http://www.idata3.com/
http://www.raccoonbend.com/
_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Follow-Ups:
    • Re: Searching for "whole word" in NSString
      • From: John Stiles <email@hidden>
  • Prev by Date: Named image for regular folder?
  • Next by Date: Re: Named image for regular folder?
  • Previous by thread: Re: Searching for "whole word" in NSString
  • Next by thread: Re: Searching for "whole word" in NSString
  • Index(es):
    • Date
    • Thread