Skip to content

Instantly share code, notes, and snippets.

@damirstuhec
Created May 26, 2014 08:50
Show Gist options
  • Save damirstuhec/eabc6bf8516dad1be181 to your computer and use it in GitHub Desktop.
Save damirstuhec/eabc6bf8516dad1be181 to your computer and use it in GitHub Desktop.
Name abbreviation
#import "NSString+Abbreviation.h"
@implementation NSString (Abbreviation)
- (NSString *)abbreviatedWithMiddles:(BOOL)middles
{
NSArray *nameParts = [self componentsSeparatedByString:@" "];
if (nameParts && nameParts.count > 0)
{
if (nameParts.count == 1)
{
return nameParts.firstObject;
}
else
{
if (middles)
{
NSMutableString *abbreviatedName = NSMutableString.new;
for (int i = 0; i < nameParts.count; i++)
{
if (i == 0)
{
[abbreviatedName appendFormat:@"%@ ", [nameParts objectAtIndex:i]];
}
else
{
[abbreviatedName appendFormat:@"%@.", [[nameParts objectAtIndex:i] substringToIndex:1]];
if (i < (nameParts.count - 1))
{
[abbreviatedName appendString:@" "];
}
}
}
return abbreviatedName;
}
else
{
return [NSString stringWithFormat:@"%@ %@.", nameParts.firstObject, [nameParts.lastObject substringToIndex:1]];
}
}
}
else
{
return @"";
}
}
@end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment