我正在制作一个供个人使用的 iPad 应用程序,并且我正在为某些字符串中的一些字符替换而苦苦挣扎。例如,我得到了一个包含“\t\t\t C D”的 NSString。现在我想做的是用 C# 和 D# 替换其中的每个 C 和每个 D。我已经设法做到了,但不幸的是,它对我来说根本没有效率。
到目前为止,这是我的代码:
- (IBAction)buttonPressed:(id)sender
{
if(sender)
{
NSError *error;
NSString *newTab = [[NSString alloc] init];
NSRegularExpression *regexC = [NSRegularExpression regularExpressionWithPattern:@"C" options:0 error:&error];
NSRegularExpression *regexD = [NSRegularExpression regularExpressionWithPattern:@"D" options:0 error:&error];
newTab = [regexC stringByReplacingMatchesInString:self.tab options:0 range:NSMakeRange(0, self.tab.length) withTemplate:@"C#"];
NSString *newTabAfterFirstRegex = [[NSString alloc] initWithString:newTab];
newTabAfterFirstRegex = [regexD stringByReplacingMatchesInString:newTab options:0 range:NSMakeRange(0, newTab.length) withTemplate:@"D#"];
NSLog(@"%@",newTabAfterFirstRegex);
}
}
另外,这只是一个小的测试代码。我真正想做的是有一个算法来检查给定字符串中所有音乐标签(CC#DD#EFF#GG#AA#B)的实例,并且当触发IBAction时我想要它们中的每一个被下一个替换(B变成C)。
任何想法将不胜感激!
非常感谢!