我想替换字符串中特定位置的单个字符。
实施例
字符串:123-456-7890
期望输出:123-406-7890(以0替换第五位的5)
答案 0 :(得分:1)
访问此处并阅读有关字符串的所有内容
答案 1 :(得分:0)
使用stringByReplacingCharactersInRange:withString:
,形成NSRange
变量以指示第5个位置。
NSString *phoneNumber = @"123-456-7890";
NSString *newString = [phoneNumber stringByReplacingCharactersInRange:NSMakeRange(5, 1) withString:@"0"];
NSLog(@"%@", newString);
Output: 123-406-7890
阅读所有关于NSString。
的信息答案 2 :(得分:0)
替换字符串有很多方法:
NSString *str = [yourString stringByReplacingOccuranceOfString:@"5" withString:@"0"];
第二种方式首先获得字符串范围:
NSRange range = [yourSting rangeOfString:@"5"];
NSString *first = [yourString substringToIndex:range.location];
NSString *second = [yourString substringFromIndex:range.location+range.length];
NSString *yourNewStr = [NSString stringWithFormat:@"%@0%@",first,second];
很多其他人使用字符串操作,但第一个是最好的。
答案 3 :(得分:0)
如果您想要实际替换第5个字符而不是任何5个字符,则需要先填写范围。
NSRange range = NSMakeRange(5, 1);
NSString *newString = [initialString stringByReplacingCharactersInRange:range withString:@"0"];
编辑:更正了制作范围长度
答案 4 :(得分:0)
你可以使用: -
NSString *replacechar = @"0";
NSString *newString= [String stringByReplacingCharactersInRange:NSMakeRange(5,1) withString:replacechar];
答案 5 :(得分:0)
获取第一次出现的子串的范围(即索引)。 然后在该范围内更换所需的替换值。
NSString *originalString = @"123 456 789";
NSRange r = [originalString rangeOfString:@"5"];
NSString *newString = [originalString stringByReplacingCharactersInRange:r withString:@"0"];