Ваши данные выглядят не так, если они представляют собой некоторую строку XML. Предполагая, что это is XML и что каждый «param» правильно заканчивается >
, вы можете использовать регулярные выражения для разбора необходимой информации. Я показываю ниже псевдокод, вы можете адаптировать его к вашим потребностям. Обратите внимание, что в этом примере предполагается, что во входной строке может быть несколько разделов soundFile
.
NSString *data = @"param name=\"FlashVars\" value=\"playerID=1&soundFile=audios/programAudios/f37070041634e8d19316422e3ffad4c9.mp3>\"";
NSError *error = NULL;
NSRegularExpression *regex = [NSRegularExpression
regularExpressionWithPattern:@"(soundFile=)(.+)(>)"
options:NSRegularExpressionCaseInsensitive
error:&error];
if(error == NULL) {
NSLog(@"Number of capture groups: %lu\n", [regex numberOfCaptureGroups]);
NSArray *matches = [regex matchesInString:data options:0 range:NSMakeRange(0, [data length])];
for (NSTextCheckingResult *match in matches) {
NSRange rangeOfInterest = [match rangeAtIndex:2];
NSLog(@"Sound file: %@\n", [data substringWithRange: rangeOfInterest]);
}
} else {
// handle error
}
Вы можете прочитать больше о Какао для регулярных выражений на их documentation page. Кроме того, обратите внимание, что может быть более целесообразным использовать XML-парсер и запросы XPath для извлечения этой информации, но в этом случае регулярные выражения отлично справятся с этой задачей.
Что вы пытаетесь? http://mattgemmell.com/2008/12/08/what-have-you-tried/ –
Почему все ваши двойные кавычки сбежали? Действительно ли это похоже на источник? –