У меня есть NSURL
Строка:получить специальную подстроку из строки NSURL
NSString *url = @"http://ht21.easou.com/mty_ZhiQianQT.mp3?src=test&name=mty&size=100";
Что самый быстрый способ получить подстроку mty_ZhiQianQt.mp3
?
У меня есть NSURL
Строка:получить специальную подстроку из строки NSURL
NSString *url = @"http://ht21.easou.com/mty_ZhiQianQT.mp3?src=test&name=mty&size=100";
Что самый быстрый способ получить подстроку mty_ZhiQianQt.mp3
?
Попробуйте это:
NSURL* url = [NSURL URLWithString:@"http://ht21.easou.com/mty_ZhiQianQT.mp3?src=test&name=mty&size=100"];
NSString *name =[NSString stringWithFormat:@"%@",[url.pathComponents objectAtIndex:1]];
NSLog(@"%@",name); // mty_ZhiQianQT.mp3
только для информации:
NSLog(@"%@",url.scheme); // http
NSLog(@"%@",url.host); // ht21.easou.com
NSLog(@"%@",url.lastPathComponent); // mty_ZhiQianQT.mp3
Хотя ваше решение будет работать для этого конкретного примера, оно не будет работать, если URL-адрес был подобен 'http: // me.com/me/song.mp3'. Поэтому вы можете улучшить его, изменив вызов на: 'NSString * name = [NSString stringWithFormat: @"% @ ", [url lastPathComponent]];' – Alladinian
@Alladinian благодарит за ваше предложение. я отредактирую свой ответ – Hector
Существует множество методов подстроки Nsstring. Вы можете подстроить диапазон. См. Также ссылку на класс Nsstring.
http://mobiledevelopertips.com/cocoa/nsrange-and-nsstring-objects.html
http://iphonesdkbasics.blogspot.in/2010/07/easy-nsstring-substring.html
У вас всегда есть файлы .mp3? Если нет, всегда будет подстрока, которую вы хотите извлечь, после домена и до '?' персонаж? – Alladinian