Recursively searches for repeated text in NSString and recursively searches nsstring
Recursive search for repeated text in NSString
Effect
Source code
StringRange project in https://github.com/YouXianMing/iOS-Project-Examples
/// NSString + Range. h // NSString /// Created by YouXianMing on 16/5/22. // Copyright©2016 YouXianMing. all rights reserved. // # import <Foundation/Foundation. h> @ interface NSString (Range)/*** Finds and returns the ranges of a given string, within the given range of the specified er. ** @ param searchString. * @ param mask A mask specifying search options. the following options may be specified by combining them with the C bitwise OR operator: NSCaseInsensitiveSearch, NSLiteralSearch, NSBackwardsSearch, NSAnchoredSearch. see String Programming Guide for details on these options. * @ param range serachRange. ** @ return Ranges. */-(NSArray <NSValue *> *) rangesOfString :( NSString *) searchString options :( NSStringCompareOptions) mask serachRange :( nsange) range; @ end
/// NSString + Range. m // NSString /// Created by YouXianMing on 16/5/22. // Copyright©2016 YouXianMing. all rights reserved. // # import "NSString + Range. h "@ implementation NSString (Range)-(NSArray <NSValue *> *) rangesOfString :( NSString *) searchString options :( NSStringCompareOptions) mask serachRange :( nsange) range {NSMutableArray * array = [NSMutableArray array]; [self rangeOfString: searchString range: NSMakeRange (0, self. length) array: array options: mask]; return array;}-(void) rangeOf String :( NSString *) searchString range :( nsange) searchRange array :( NSMutableArray *) array options :( NSStringCompareOptions) mask {nsange range = [self rangeOfString: searchString options: mask range: searchRange]; if (range. location! = NSNotFound) {[array addObject: [NSValue valueWithRange: range]; [self rangeOfString: searchString range: NSMakeRange (range. location + range. length, self. length-(range. location + range. length) array: array options: mask] ;}}@ end