0

可能重复:
根据条件从 iphone 中的字符串中检索子字符串
识别 iphone 中两个字符串之间的字符串

我是 iPhone 新手。我有一点疑问,我有很多字符串(近 66 个),格式为 href="/mp3/KJV/21_Ecc/Ecc_KJV.zip" 在单个字符串中,但所有这些的区别在于更改名称Ecc 的位置,但格式相同。所以,我的要求是如何使用正则表达式获取以 (href=") 开头并以 (.zip) 结尾的所有字符串,以及如何为上面的格式字符串来标识该格式的所有字符串。

4

2 回答 2

0

请试试这个。希望这可以帮助你。谢谢

NSString *param = nil;

NSString *objString=[[NSString alloc]initWithString:@"href=\"/mp3/KJV/21_Ecc/Ecc_KJV.zip\""];

NSRange start = [objString rangeOfString:@"href="];
if (start.location != NSNotFound)
{
    param = [objString substringFromIndex:start.location + start.length];
    NSRange end = [param rangeOfString:@".zip"];
    if (end.location != NSNotFound)
    {
        param = [objString substringToIndex:end.location];
    }
}
NSLog(@"Substring==%@",param);

//param now contains your value (or nil if not found)
于 2012-06-19T14:35:37.613 回答
0
NSString *sourceString = ...// your string for search substrings

NSString *pattern = @"href=(.*?).zip";
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:pattern options:0 error:nil];    
NSArray *results = [regex matchesInString:sourceString options:0 range:NSMakeRange(0, [sourceString length])];
for (NSTextCheckingResult* result in results)
{
    NSString *resultString = [sourceString substringWithRange:result.range];
    NSLog(@"%@",resultString);
}
于 2012-06-19T14:40:34.077 回答