Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: String Character Replacement



2006/11/10, email@hidden <email@hidden>:
What would be the most efficient way to replace characters in a string? Say I
have an NSString/NSMutableString that contains...

Joe:Smith:MI:123:456:8967:M

..and I want to replace all the colons with tabs?

Myself, I'd probably use NSScanner. But this is such a simple task, I'm tempted to recommend this method:

NSString* doReplace( NSString *source, unichar from, unichar to )
{
   unichar *temp = NULL;
   unsigned int tempLength = 0;
   unsigned int i;

   if (source == nil)
       return nil;

   tempLength = [source length];
   temp = (unichar*)malloc( sizeof( unichar ) * tempLength );
   if (temp == NULL)
       return nil;

   [source getCharacters:temp];

   for (i = 0; i < tempLength; ++i)
   {
       if (temp[ i ] == from)
           temp[ i ] = to;
   }

   return [[[NSString alloc] initWithCharactersNoCopy:temp
length:tempLength freeWhenDone:YES] autorelease];
}

You can't use this outside the Basic Multilingual Plane, but for what
you're doing it is fine.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/email@hidden

This email sent to email@hidden
References: 
 >String Character Replacement (From: email@hidden)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.