Замена одного символа в строке в Objective-C - PullRequest
48 голосов
/ 07 марта 2011

Надеясь, что кто-нибудь может мне помочь - я хотел бы заменить определенный символ в строке, и мне интересно, как лучше всего это сделать?

Я знаю местоположение символа, например, если я хочу изменить третий символ в строке с A на B - как бы я это закодировал?

Ответы [ 4 ]

87 голосов
/ 07 марта 2011

Если это всегда один и тот же символ, который вы можете использовать:

stringByReplacingOccurrencesOfString:withString:

Если это та же строка в том же месте, вы можете использовать:

stringByReplacingOccurrencesOfString:withString:options:range:

Если это просто конкретное место, которое вы можете использовать:

stringByReplacingCharactersInRange:withString:

Документация здесь: https://developer.apple.com/documentation/foundation/nsstring

Так, например:

NSString *someText = @"Goat";
NSRange range = NSMakeRange(0,1);
NSString *newText = [someText stringByReplacingCharactersInRange:range withString:@"B"];

newText будет равно "Лодка"

28 голосов
/ 02 октября 2014
NSString *str = @"123*abc";
str = [str stringByReplacingOccurrencesOfString:@"*" withString:@""];
//str now 123abc
6 голосов
/ 07 марта 2011

Вот код:

[aString stringByReplacingCharactersInRange:NSMakeRange(3,1) withString:@"B"];
4 голосов
/ 07 марта 2011

Используйте сообщение replaceCharactersInRange: withString: для объекта NSMutableString.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...