Обратите внимание, что в следующем коде предполагается, что s1 и s2 имеют одинаковую длину, в противном случае в какой-то момент произойдет исключение, поэтому выполните проверку:)
- (NSMutableString *)concatString:(NSString *)s1 withString:(NSString *)s2
{
NSMutableString *result = [NSMutableString stringWithCapacity:[s1 length]];
for (int i = 0; i < [s1 length]; i++) {
unichar c = [s1 characterAtIndex:i];
if ( c != '-' ) {
[result appendFormat:@"%c", c];
}
else {
[result appendFormat:@"%c", [s2 characterAtIndex:i]];
}
}
return result;
}