Ответ 1
- (NSString *)stringByReplacingPercentEscapesUsingEncoding:(NSStringEncoding)encoding;
в NSString - это то, что вы хотите.
т.е.
[substring stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
Я хочу взять url
и преобразовать его в более читаемый формат. Например, у меня есть следующая ссылка:
http://en.wikipedia.org/wiki/S%C3%A1ndor_Font
Я убираю ненужные части и оставляю "S%C3%A1ndor_Font"
как NSString
. Есть ли способ конвертировать это в "Sándor Font"
(что на самом деле должно быть), без необходимости вводить каждую комбинацию специальных символов и заменять каждую часть строки?
Чтобы продемонстрировать, как я хочу это использовать, я написал следующий пример кода:
//request is a NSURLRequest with a url of http://en.wikipedia.org/wiki/S%C3%A1ndor_Font
NSRange range = [[request.URL absoluteString] rangeOfString:@"/wiki/"];
NSString *substring = [[[request.URL absoluteString] substringFromIndex:NSMaxRange(range)] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
//ArticleTitleLabel is a UILabel
self.ArticleTitleLabel.text = substring;
В конце я хочу, чтобы метка говорила "Sándor Font"
not "S%C3%A1ndor_Font"
. Спасибо!
- (NSString *)stringByReplacingPercentEscapesUsingEncoding:(NSStringEncoding)encoding;
в NSString - это то, что вы хотите.
т.е.
[substring stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
Для iOS10/Swift 3:
substring.removingPercentEncoding
Для iOS9/Swift 2.3:
substring.stringByRemovingPercentEncoding
Swift 3
str.removingPercentEncoding