Nerver используйте NSString
для работы со строками, используйте NSMutableString
.NSMutableString является подклассом NSString и используется для этой цели.
Из документации Apple:
Класс NSString
объявляет программный интерфейс для объекта, который управляет неизменяемыми строками. (Неизменная строка - это текстовая строка, которая определяется при ее создании и впоследствии не может быть изменена. NSString
реализована для представления массива символов Юникода (другими словами, текстовой строки).
Изменяемый подкласс NSString - NSMutableString
.
NSMutableString *word = [[NSMutableString alloc] initWithString:@"Hello"];
//Replace a character
NSString* word2 = [word stringByReplacingOccurrencesOfString:@"e" withString:@"a"];
[word release];
word = nil ;
word = [[NSMutableString alloc] initWithString:word2 ];
//Append a Character
[word appendString:@"a"];
Имеется больше функций для работы со строками. См. Документацию Apple для NSMutableString
Отредактировано:
Вы могли бы сначала использовать rangeOfString
, чтобы получить диапазон строки (в вашем случае @ "e").
- (NSRange)rangeOfString:(NSString *)aString options:(NSStringCompareOptions)mask
, затем проверить объект NSRange, еслиэто верно, затем используйте функцию replaceCharactersInRange
на вашем NSMutableString
, чтобы заменить набор символов вашей строкой.
- (void)replaceCharactersInRange:(NSRange)aRange withString:(NSString *)aString