gpt4 book ai didi

objective-c - 将 char 附加到现有字符串 Objective - C

转载 作者:太空狗 更新时间:2023-10-30 03:56:50 24 4
gpt4 key购买 nike

我正在尝试动态追加和以编程方式修改 NSString。我想知道一些事情:

  • 如何修改定义的 NSString 中的特定字符?
  • 如何在定义的 NSString 中添加字符?

例如,如果我定义了以下内容:NSString *word = [[NSString alloc] initWithString:@"Hello"]; 我如何才能将字母“e”替换为“a"以及如何将另一个字符添加到字符串本身?

最佳答案

Nerver 使用NSString 进行字符串操作,使用NSMutableString。NSMutableString 是 NSString 的子类,用于此目的。

来自 Apple 文档:

NSString 类声明了管理不可变字符串的对象的编程接口(interface)。 (不可变字符串是在创建时定义的文本字符串,随后无法更改。NSString 实现为表示 Unicode 字符数组(换句话说,文本字符串)。

NSString 的可变子类是 NSMutableString

NSMutableString *word = [[NSMutableString alloc] initWithString:@"Hello"];
//Replace a character
NSString* word2 = [word stringByReplacingOccurrencesOfString:@"e" withString:@"a"];

[word release];
word = nil ;

word = [[NSMutableString alloc] initWithString:word2 ];
//Append a Character
[word appendString:@"a"];

有更多的字符串操作函数参见 Apple 文档 NSMutableString

已编辑:

您可以先使用 rangeOfString 获取字符串的范围(在您的例子中是@"e")。

- (NSRange)rangeOfString:(NSString *)aString options:(NSStringCompareOptions)mask

然后检查 NSRange 对象是否有效,然后使用 NSMutableString 上的 replaceCharactersInRange 函数用您的字符串替换字符集。

- (void)replaceCharactersInRange:(NSRange)aRange withString:(NSString *)aString

关于objective-c - 将 char 附加到现有字符串 Objective - C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5711101/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com