我正在寻找一种方法来替换某个NSString索引处的字符。
例如:myString = @"******";
我想用"A“替换第三个”*“,这样字符串看起来就像这样:myString = @"**A***";
我如何才能做到这一点?
提前感谢
发布于 2012-01-21 20:49:50
试试这个:
NSString *str = @"*******";
str = [str stringByReplacingCharactersInRange:NSMakeRange(3, 1) withString:@"A"];
NSLog(@"%@",str);
发布于 2012-01-21 20:49:21
实际上有两种选择;
由于NSString是只读的,您需要在NSString上调用mutableCopy
来获取一个实际可以更改的NSMutableString,然后在NSMutableString上调用replaceCharactersInRange:withString:
来替换其中的字符。如果您想多次更改字符串,这会更有效率。
NSString上还有一个stringByReplacingCharactersInRange:withString:
方法,它返回一个替换了字符的新NSString。这对于单个更改可能更有效,但要求您为每个替换项创建一个新的NSString。
发布于 2014-07-21 16:09:41
尝试此示例方法
-(NSString *)string:(NSString*)string ByReplacingACharacterAtIndex:(int)i byCharacter:(NSString*)StringContainingAChar{
return [string stringByReplacingCharactersInRange:NSMakeRange(i, 1) withString:StringContainingAChar];
}
如果您的字符串是“than”,并且您希望将第一个字符"t“替换为"*”,则调用方法
[self string:yourString ByReplacingACharacterAtIndex:0 byCharacter:@"*"]
快跑快走
https://stackoverflow.com/questions/8953044
复制相似问题