Я пытаюсь изменить NSString
при повторении NSTextCheckingResults
с NSRegularExpression
.NSMutableString изменять при повторном тестировании текста
Я знаю, что это не сработает так, как я его реализовал, так как каждая замена меняет длину строки так, чтобы действительность NSRages в моем цикле.
Как заменить несколько совпадений в цикле for? Вот мой код:
NSMutableString *string = [@"[H]…[mm]…[s]" mutableCopy];
NSReguralExpression *exp = [NSRegularExpression regularExpressionWithPattern:@"(\\[[Hms]{1,2}\\])" options:0 error:nil];
for (NSTextCheckingResult *result in [exp matchesInString:string options:NSMatchingReportCompletion range:NSMakeRange(0, [string length])]) {
[string replaceCharactersInRange:[result rangeAtIndex:0] withString:@"#"];
}
Я немного застрял прямо сейчас. Ни один из подходов, о которых я думал, казался функциональным.