这是我的问题。
我正在使用HTML解析器来解析HTML内容。
当我匹配图像时使用此模式
http://www.site.com/path/to/image/image-name-heightxwidth.extension
我想使用这种模式在我的核心数据数据库上获取此图像的匹配网址:
http://www.site.com/path/to/image/image-name.extension
我应该使用什么样的正确“格式谓词”来执行我的请求?
编辑:以下是我在数据库中执行请求的代码
- (WPImage *)imageMatchingUrl:(NSString *)urlString {
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"url CONTAINS %@",urlString];
ALog(@"WPImage for urlString %@ found ? : %@",urlString, [self getEntities:NSStringFromClass([WPImage class]) withPredicate:predicate][0]?@"Yes":@"No");
return [self getEntities:NSStringFromClass([WPImage class]) withPredicate:predicate][0];
}
答案 0 :(得分:0)
尝试正则表达式NSPattern不能这样做,这应该做的工作:
NSString *st1 = @"http://www.site.com/path/to/image/image-name-300x200.extension";
NSRange searchedRange = NSMakeRange(0, [st1 length]);
NSString *pattern = @"-\\d+x\\d+";
NSError *error = nil;
NSRegularExpression* regex = [NSRegularExpression regularExpressionWithPattern:pattern options:0 error:&error];
NSArray* matches = [regex matchesInString:st1 options:0 range: searchedRange];
for (NSTextCheckingResult* match in matches)
{
NSString* matchText = [st1 stringByReplacingCharactersInRange:[match range] withString:@""];
NSLog(@"Match: %@", matchText);
}