28

I'm looking for a good way in Objective-C to replace the last comma in a string with the word "and". Any suggestions?

"Red, Green, Blue, Yellow"

becomes

"Red, Green, Blue and Yellow"

Snilleblixten
  • 1,295
  • 1
  • 13
  • 15

2 Answers2

65
NSString *str = @"....";  
NSRange lastComma = [str rangeOfString:@"," options:NSBackwardsSearch];

if(lastComma.location != NSNotFound) {
    str = [str stringByReplacingCharactersInRange:lastComma
                                       withString: @" and"];
}
mvds
  • 45,755
  • 8
  • 102
  • 111
0

As of iOS 13, there is now built-in support for this: (NS)ListFormatter, which, aside from being less code, also handles localization.

Kelan
  • 2,296
  • 1
  • 15
  • 17