it-swarm.com.ru

Как заменить символ в NSString без вставки пробела?

Давайте предположим, что у меня есть строка

NSString* myString  = @"Hello,";

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

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

а также

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

Но оба оставляют места.

30
Sheehan Alam

Я просто запустил следующее в качестве теста

NSString * myString = @"Hello,";

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

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

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

102
Brandon Bodnar

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

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

«токен» - это то, что вы хотите заменить NSString, а «i» - вы хотите изменить NSString на «*». 

0
qn5566
NSString *newString = [myString substringToIndex:5];

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

0
dreamlax