2015-04-03 3 views
-3

У меня есть:NSString подстройка не работает

NSString *urlString = @"+11 111 111 111"; 
NSString *trimmedUrlString = [urlString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; 
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"tel://%@", trimmedUrlString]]; 

Однако, когда я проверяю их, trimmedUrlString такое же, как и urlStringurl является nil. У кого-нибудь есть идея, почему он trimmedUrlString не обрезается ..?

+0

Я не понимаю. Почему вниз вниз? Каждый вопрос SOF заключается в том, что кто-то сделал что-то неправильно или ничего не знал. Теперь это занижено, потому что я ошибался, что происходит в каждом вопросе. – Vive

+0

Это проголосовало за то, что вы должны искать, прежде чем открывать нить. Это общий вопрос, на который вы можете найти его везде. Как спросить: http://stackoverflow.com/help/how-to-ask –

+0

@LucaD Я прочитал описание метода в xCode и просмотрел SOF , Не нашел решение, поэтому я спросил. Голосовать, чтобы закрыть как дубликат, если я что-то пропустил, так работает SOF. Такое утверждение, что «вы должны искать», может быть применено практически к всем вопросам. Я написал код ОК, но неправильно понял намерение, поэтому найти такую ​​проблему было не так-то просто. – Vive

ответ

6

Вы неправильно поняли значение «обрезки»: это означает «удаление ведущих и завершающих символов, соответствующих NSCharacterSet». С другой стороны, у вашей строки нет ведущей (до первого 1) или конечной (после последней 1) пробела, поэтому она остается неизменной.

Посмотрите на this answer, чтобы удалить все совпадающие символы из строки.

1

Вот самый простой способ, чтобы удалить все непечатаемые внутри строки:

NSString *trimmedUrlString = [urlString stringByReplacingOccurrencesOfString:@" " withString:@""];