New: replaceOccurrencesOfString:(CPString)target withString:(CPString… (#2900)

New: replaceOccurrencesOfString:(CPString)target withString:(CPString)replacement options:(int)options range:(CSRange)searchRange
This commit is contained in:
daboe01
2020-06-30 20:52:34 +02:00
committed by GitHub
parent 89c8f8e80f
commit 7e3c4074e4
+24
View File
@@ -887,6 +887,30 @@ var CPAttributedStringStringKey = "CPAttributedStringString",
*/
@implementation CPMutableAttributedString : CPAttributedString
/*!
Replaces all occurrences of the target string in a given range with a replacement string. Returns the number of replacements.
*/
- (CPUInteger)replaceOccurrencesOfString:(CPString)target
withString:(CPString)replacement
options:(CPStringCompareOptions)options
range:(CSRange)searchRange
{
var foundRange,
searchRangeDynamic = searchRange ? CPMakeRangeCopy(searchRange) : CPMakeRange(0, [_string length]),
searchRangeLengthOffset = [replacement length] - [target length];
for (var replacements = 0;
(foundRange = [_string rangeOfString:target options:options range:searchRangeDynamic]), foundRange.location != CPNotFound;
replacements++)
{
[self replaceCharactersInRange:foundRange withString:replacement];
searchRangeDynamic.length += searchRangeLengthOffset;
}
return replacements;
}
@end
var isEqual = function(a, b)