• 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: NSString stringByTrimmingCharactersInSet method doesnt work.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NSString stringByTrimmingCharactersInSet method doesnt work.


  • Subject: Re: NSString stringByTrimmingCharactersInSet method doesnt work.
  • From: Graham Cox <email@hidden>
  • Date: Wed, 24 Dec 2008 10:13:10 +1100


On 24 Dec 2008, at 5:00 am, Alex.Wang wrote:

Hi everyone.
I came across a confusing issue, please see the following code:

NSLog(@"Trick here: %@", [[NSString stringWithString:@"There    are
blanks"]
                             stringByTrimmingCharactersInSet:
                             [NSCharacterSet
whitespaceAndNewlineCharacterSet]]);

We may expect to see "Trick here: Thereareblanks" output from the console.
However, I got "Trick here: There are blanks" instead. I dont know why
the stringByTrimmingCharactersInSet method doesn't work.
Can anyone here give me an explanation or tell me how to solve it?
Thank you very much for your help. Good luck.


Yeah, I misinterpreted this method also. It only removes characters from the ends. Not sure when that would be useful, but anyway. I wrote a couple of category methods to handle this:


- (NSString *) stringByRemovingCharactersInSet:(NSCharacterSet*) charSet options:(unsigned) mask
{
NSRange range;
NSMutableString* newString = [NSMutableString string];
unsigned len = [self length];

mask &= ~NSBackwardsSearch;
range = NSMakeRange (0, len);

while (range.length)
{
NSRange substringRange;
unsigned pos = range.location;

range = [self rangeOfCharacterFromSet:charSet options:mask range:range];
if (range.location == NSNotFound)
range = NSMakeRange (len, 0);

substringRange = NSMakeRange (pos, range.location - pos);
[newString appendString:[self substringWithRange:substringRange]];

range.location += range.length;
range.length = len - range.location;
}

return newString;
}



- (NSString *) stringByRemovingCharactersInSet:(NSCharacterSet*) charSet
{
return [self stringByRemovingCharactersInSet:charSet options:0];
}






hth, Graham



_______________________________________________

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


References: 
 >NSString stringByTrimmingCharactersInSet method doesnt work. (From: Alex.Wang <email@hidden>)

  • Prev by Date: Re: automatic table scrolling when nsarraycontroller selection changes
  • Next by Date: Re: .DS_Store files, dirContentsAtPath? (newb)
  • Previous by thread: Re: NSString stringByTrimmingCharactersInSet method doesnt work.
  • Next by thread: NSCoding, objects that can
  • Index(es):
    • Date
    • Thread