我正在尝试NSString
修改NSTextCheckingResults
从NSRegularExpression
.
我知道它不会像我实现它的方式那样工作,因为每次替换都会改变字符串的长度,因此我的循环中 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:@"#"];
}
我现在有点卡住了。我想到的所有方法似乎都不起作用。