How to modify the method below to correctly handle this case:
sourceString: @"some text with an embedded ’token’ inside the body";
targetString: @"’token’"
- (NSString*) performActionXYZOnString:(NSString*)sourceString usingTarget:(NSString*)targetString; {
NSMutableString * resultString = [[NSMutableString alloc] initWithString:sourceString];
if ((sourceString.length>0)&&(targetString.length>0)) {
NSRange fullSourceStringRange = NSMakeRange(0, sourceString);
NSString *targeWordExpression = [NSString stringWithFormat:@"(%@)", targetString];
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:targeWordExpression options:NSRegularExpressionCaseInsensitive error:nil];
[regex enumerateMatchesInString:sourceString options:NSMatchingReportCompletion range:fullSourceStringRange usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop) {
if (result!=nil) {
... perform actions on resultString...
}
}];
}
return [NSString stringWithString:resultString];
}