2012-05-17 2 views
1

У меня есть NSURL Строка:получить специальную подстроку из строки NSURL

NSString *url = @"http://ht21.easou.com/mty_ZhiQianQT.mp3?src=test&name=mty&size=100"; 

Что самый быстрый способ получить подстроку mty_ZhiQianQt.mp3?

+0

У вас всегда есть файлы .mp3? Если нет, всегда будет подстрока, которую вы хотите извлечь, после домена и до '?' персонаж? – Alladinian

ответ

3

Попробуйте это:

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

+1

Хотя ваше решение будет работать для этого конкретного примера, оно не будет работать, если URL-адрес был подобен 'http: // me.com/me/song.mp3'. Поэтому вы можете улучшить его, изменив вызов на: 'NSString * name = [NSString stringWithFormat: @"% @ ", [url lastPathComponent]];' – Alladinian

+0

@Alladinian благодарит за ваше предложение. я отредактирую свой ответ – Hector