Как заменить символ в NSString без вставки пробела?
Предположим, что у меня есть строка
NSString* myString = @"Hello,";
Как удалить запятую, не оставляя пробела? Я пробовал:
NSString* newString = [myString stringByReplacingOccurrencesOfString:@"," withString:@""];
и
NSString* newString = [myString stringByTrimmingCharactersInSet:[NSCharacterSet punctuationCharacterSet]];
Но оба оставляют пробелы.
Ответы
Ответ 1
Я просто запускал следующее как тест
NSString * myString = @"Hello,";
NSString * newString = [myString stringByReplacingOccurrencesOfString:@"," withString:@""];
NSLog(@"%@xx",newString);
И я получаю 2010-04-05 18:51:18.885 TestString[6823:a0f] Helloxx
как вывод. Не осталось свободного места.
Ответ 2
NSString *newString = [myString substringToIndex:5];
Это гарантирует, что в строке будет всего 5 символов, но будьте осторожны, что это также вызовет исключение, если в начале строки не должно быть не менее 5 символов. Как вы обрабатываете эту строку? Отображается ли оно пользователю? Это записывается в файл? Код, который вы опубликовали, не воспроизводит ошибку, поэтому, возможно, вам следует опубликовать код, с которым у вас возникла проблема.
Ответ 3
другой способ u может использовать.. by stringByReplacingCharactersInRange
token = [token stringByReplacingCharactersInRange:NSMakeRange(i, 1) withString:@"*"];
"токен" - это ваше желание заменить NSString и "i" - вы хотите изменить NSString на "*"