使用类似的东西我可以替换所有出现的字符串
NSString * str = @"monday sunday monday";
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"monday" options:NSRegularExpressionCaseInsensitive error:NULL];
NSString *newStr = [regex stringByReplacingMatchesInString:str options:0 range:NSMakeRange(0, [str length]) withTemplate:@""];
如何才能更换最后一次出现的正确方法?
答案 0 :(得分:0)
答案 1 :(得分:0)
这是一种简单的方法:
创建一个匹配一个字符串的NSRegularExpression
。
调用方法matchesInString:options:range:
返回NSArray
NSTextCheckingResult
,描述字符串中的所有匹配项。选择数组的最后一个元素,即最后一个匹配。
如果您有简单的文本替换,现在可以使用从replaceCharactersInRange:withString:
获得的范围在原始字符串的可变副本上使用NSTextCheckingResult
。如果您的替换文字不简单但基于匹配构建,请先使用replacementStringForResult:inString:offset:template:
获取替换字符串,然后使用replaceCharactersInRange:withString:
。
HTH