by mattt

Efficiently Singularize and Pluralize Strings

448 Stars 26 Forks Last release: Not found MIT License 3 Commits 1 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:


Efficiently Singularize and Pluralize Strings

InflectorKit ports the string inflection functionality of Rails ActiveSupport to Foundation.

InflectorKit joins FormatterKit & TransformerKit in providing well-designed APIs for manipulating user-facing content.


#import "NSString+InflectorKit.h"

for (NSString *singular in @[@"person", @"tomato", @"matrix", @"octopus", @"fish"]) { NSLog(@"%@: %@", singular, [singular pluralizedString]); }

person: people
tomato: tomatoes
matrix: matrices
octopus: octopi
fish: fish

You can also add pluralization rules, including irregular and uncountable words:

#import "TTTStringInflector.h"

TTTStringInflector *inflector = [TTTStringInflector defaultInflector]; [inflector addPluralRule:@"^i(Pod|Pad)( Mini)?$" withReplacement:@"i$1s$2"]; [inflector addIrregularWithSingular:@"lol" plural:@"lolz"]; [inflector addUncountable:@"Herokai"];

for (NSString *singular in @[@"iPad Mini", @"lol", @"Herokai"]) { NSLog(@"%@: %@", singular, [singular pluralizedString]); }

iPad Mini: iPads Mini
lol: lolz
Herokai: Herokai


Mattt Thompson


InflectorKit is available under the MIT license. See the LICENSE file for more info.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.