iphone – 在引用之间获取字符串的NSRange?

我有一个字符串:

He said “hello mate” yesterday.

我想从第一个报价到最后一个报价获得NSRange.所以我尝试过这样的事情:

NSRange openingRange = [title rangeOfString:@"\""];
NSRange closingRange = [title rangeOfString:@"\""];
NSRange textRange = NSMakeRange(openingRange.location, closingRange.location+1 - openingRange.location);

但我不确定如何区分第一个引用和第二个引用.我该怎么做?

您可以使用正则表达式:

NSError *error = nil;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"([\"])(?:\\\\\\1|.)*?\\1" options:0 error:&error];

NSRange range = [regex rangeOfFirstMatchInString:myString options:0 range:NSRangeMake(0, [myString length]];

不要忘记检查错误;)

相关文章
相关标签/搜索