@@ -219,14 +219,18 @@ extension NSRegularExpression {
219
219
let currentRange = result. range
220
220
let replacement = replacementStringForResult ( result, inString: string, offset: 0 , template: templ)
221
221
if currentRange. location > NSMaxRange ( previousRange) {
222
- str += String ( string. utf16 [ Range < String . UTF16View . Index > ( start: start. advancedBy ( NSMaxRange ( previousRange) ) , end: start. advancedBy ( currentRange. location) ) ] )
222
+ let min = start. advancedBy ( NSMaxRange ( previousRange) )
223
+ let max = start. advancedBy ( currentRange. location)
224
+ str += String ( string. utf16 [ min..< max] )
223
225
}
224
226
str += replacement
225
227
previousRange = currentRange
226
228
}
227
229
228
230
if length > NSMaxRange ( previousRange) {
229
- str += String ( string. utf16 [ Range < String . UTF16View . Index > ( start: start. advancedBy ( NSMaxRange ( previousRange) ) , end: start. advancedBy ( length) ) ] )
231
+ let min = start. advancedBy ( NSMaxRange ( previousRange) )
232
+ let max = start. advancedBy ( length)
233
+ str += String ( string. utf16 [ min..< max] )
230
234
}
231
235
232
236
return str
@@ -301,7 +305,9 @@ extension NSRegularExpression {
301
305
}
302
306
if substringRange. location != NSNotFound && substringRange. length > 0 {
303
307
let start = string. utf16. startIndex
304
- substring = String ( string. utf16 [ Range < String . UTF16View . Index > ( start: start. advancedBy ( substringRange. location) , end: start. advancedBy ( substringRange. location + substringRange. length) ) ] )
308
+ let min = start. advancedBy ( substringRange. location)
309
+ let max = start. advancedBy ( substringRange. location + substringRange. length)
310
+ substring = String ( string. utf16 [ min..< max] )
305
311
}
306
312
str. replaceCharactersInRange ( rangeToReplace, withString: substring)
307
313
0 commit comments