【发布时间】:2013-11-20 18:23:34
【问题描述】:
我不想“知道”如何将一个字符串放在另一个字符串中的某个位置。我已经知道了,因为我想出了另一种方法来做到这一点。但我想知道真正的方式,它是否存在?
我也在问这个问题,以了解关于如何将此字符串放在另一个字符串中的某个位置“错误”方式的未来问题(以防它不能以真正的方式完成)
我的意思是将(子)字符串放在字符串的位置,例如放置
这个字符串:@"Hello" at location:5 inString:@"123456789"
我希望结果是:@"12345Hello6789" 这可以真正做到吗?类似这样的假代码:
[str stringByPuttingString:@"s" atLocation:5];//this code does not exist
我想出了其他方法来完成这项工作,我们可以把它写成更短的代码吗?
-(NSString *)putString:(NSString *)str atLocation:(int)location ofString:(NSString *)mainString {
NSRange range = NSMakeRange(location, 0);
return [mainString stringByReplacingCharactersInRange:range withString:str];
}
和
-(NSString *)putString:(NSString *)str atLocation:(int)location ofString:(NSString *)mainString {
NSString *first = [mainString substringToIndex:location];
NSString *last = [mainString substringFromIndex:location];
return [NSString stringWithFormat:@"%@%@%@", first, str, last];
}
第一个感觉最好,还有其他想法或真实想法吗?
乔纳森, 在这个“问题”的未来案例中。
【问题讨论】:
-
看
NSMutableString。
标签: objective-c string nsstring substring