首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >替换NSString中某个索引处的字符

替换NSString中某个索引处的字符
EN

Stack Overflow用户
提问于 2012-01-21 20:43:18
回答 5查看 21.2K关注 0票数 18

我正在寻找一种方法来替换某个NSString索引处的字符。

例如:myString = @"******";

我想用"A“替换第三个”*“,这样字符串看起来就像这样:myString = @"**A***";

我如何才能做到这一点?

提前感谢

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-01-21 20:49:50

试试这个:

代码语言:javascript
复制
NSString *str = @"*******";
str = [str stringByReplacingCharactersInRange:NSMakeRange(3, 1) withString:@"A"];
NSLog(@"%@",str);
票数 32
EN

Stack Overflow用户

发布于 2012-01-21 20:49:21

实际上有两种选择;

由于NSString是只读的,您需要在NSString上调用mutableCopy来获取一个实际可以更改的NSMutableString,然后在NSMutableString上调用replaceCharactersInRange:withString:来替换其中的字符。如果您想多次更改字符串,这会更有效率。

NSString上还有一个stringByReplacingCharactersInRange:withString:方法,它返回一个替换了字符的新NSString。这对于单个更改可能更有效,但要求您为每个替换项创建一个新的NSString。

票数 18
EN

Stack Overflow用户

发布于 2014-07-21 16:09:41

尝试此示例方法

代码语言:javascript
复制
-(NSString *)string:(NSString*)string ByReplacingACharacterAtIndex:(int)i byCharacter:(NSString*)StringContainingAChar{

    return [string stringByReplacingCharactersInRange:NSMakeRange(i, 1) withString:StringContainingAChar];

}

如果您的字符串是“than”,并且您希望将第一个字符"t“替换为"*”,则调用方法

代码语言:javascript
复制
[self string:yourString ByReplacingACharacterAtIndex:0 byCharacter:@"*"]

快跑快走

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8953044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档