Jon*_*ebo 0 string substring objective-c nsstring
我不想"知道"如何将字符串放在另一个字符串中的某个位置.我已经知道了,因为我想出了另一种方法.但我不知道真正的方式,它甚至存在吗?
我也问这个问题,以便将来有关如何将这个字符串放在另一个字符串中的位置的"错误"方式(如果它不能以真正的方式完成)
我的意思是将(子)字符串放在字符串的位置是例如放
这个字符串:@"Hello"的位置:5 inString:@"123456789"
我希望结果是:@"12345Hello6789"这可以通过真正的方式完成吗?像这样的假代码:
[str stringByPuttingString:@"s" atLocation:5];//this code does not exist
Run Code Online (Sandbox Code Playgroud)
我想出了其他方法来完成这项工作,我们可以将其用于更短的代码吗?
-(NSString *)putString:(NSString *)str atLocation:(int)location ofString:(NSString *)mainString {
NSRange range = NSMakeRange(location, 0);
return [mainString stringByReplacingCharactersInRange:range withString:str];
}
Run Code Online (Sandbox Code Playgroud)
和
-(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];
}
Run Code Online (Sandbox Code Playgroud)
第一个感觉最好,任何其他想法或真实想法?
乔纳森,未来这个"问题"的案例.
为什么不用一个NSMutableString?
NSMutableString *string = [NSMutableString stringWithString:@"123456789"];
[string insertString:@"Hello" atIndex:5];
NSLog(@"%@", string);
Run Code Online (Sandbox Code Playgroud)
输出:
12345Hello6789
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
158 次 |
| 最近记录: |