我有一个字符串:



我想从第一个引用到最后一个引用获得一个 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]];

不要忘记检查错误;)

关于iphone - 在引号之间获取字符串的 NSRange?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10457350/

10-10 17:25