Как заменить символ в NSString без вставки пробела? - PullRequest
30 голосов
/ 06 апреля 2010

Предположим, у меня есть строка

NSString* myString  = @"Hello,";

Как убрать запятую, не оставляя пробела? Я пробовал:

NSString* newString = [myString stringByReplacingOccurrencesOfString:@"," withString:@""];

и

NSString* newString = [myString stringByTrimmingCharactersInSet:[NSCharacterSet punctuationCharacterSet]];

Но оба оставляют пробелы.

Ответы [ 3 ]

102 голосов
/ 06 апреля 2010

Я просто запустил следующий тест

NSString * myString = @"Hello,";

NSString * newString = [myString stringByReplacingOccurrencesOfString:@"," withString:@""];

NSLog(@"%@xx",newString);

И я получаю 2010-04-05 18:51:18.885 TestString[6823:a0f] Helloxx в качестве вывода. Места не осталось.

0 голосов
/ 25 мая 2016

другой способ, которым вы можете использовать .. by stringByReplacingCharactersInRange

token = [token stringByReplacingCharactersInRange:NSMakeRange(i, 1) withString:@"*"];

"токен" - это ваше желание заменить строку NSString, а "i" - вы хотите изменить строку NSString на "*"

0 голосов
/ 06 апреля 2010
NSString *newString = [myString substringToIndex:5];

Это обеспечит наличие только 5 символов в строке, но имейте в виду, что это также вызовет исключение, если в строке нет хотя бы 5 символов для начала. Как вы справляетесь с этой строкой? Это отображается для пользователя? Это записывается в файл? Размещенный вами код не воспроизводит ошибку, поэтому, возможно, вам следует опубликовать код, с которым у вас возникли проблемы.

...