我有一个NSString,其中包含网页的html代码。 现在,我如何在整个字符串中搜索以'data-src =“http://'开头并以”?“结尾的所有单词。 我将它们保存在一个数组中。 我的字符串叫做urlPage
PS:我不希望这些词有'data-src =“http://'和”。我只想要这两个之间的文字
答案 0 :(得分:1)
以下是一些示例代码:
NSString *string;
NSString *pattern;
NSRegularExpression *regex;
string = @" aa data-src=\"http://test1\" cd data-src=\"http://test2\" cd";
pattern = @"data-src=\"http://([^\"]+)\"";
regex = [NSRegularExpression
regularExpressionWithPattern:pattern
options:NSRegularExpressionCaseInsensitive
error:nil];
NSArray *matches = [regex matchesInString:string
options:0
range:NSMakeRange(0, [string length])];
for (NSTextCheckingResult *match in matches) {
NSRange range = [match rangeAtIndex:1];
NSLog(@"match: '%@'", [string substringWithRange:range]);
}
NSLog输出:
匹配:'test1'
匹配:'test2'
答案 1 :(得分:0)
最好的办法是使用NSRegularExpression搜索字符串。特别是enumerateMatchesInString:options:range:usingBlock:
方法。在这种方法中,您将获得适合您的正则表达式的结果,如果需要,您可以手动删除开头部分和问号。