将字符串转换为字符数组

3

我有一个类似这样的东西:

NSString *str = "hello this is 123.";

我希望将其放入字符数组中,以便我可以逐个字符地读取它。
因此,它将像这样:
charArray[0] = 'h'
charArray[1] = 'e'
charArray[2] = 'l'

如何将字符串转换为字符数组并且如何读取字符数组中的每个单元格?
3个回答

4

尝试像这样做,注意它是大写的 C,这会在特殊字符方面给你带来麻烦。

NSMutableArray *array = [NSMutableArray array];
for (int i = 0; i < [string length]; i++) {
    [array addObject:[NSString stringWithFormat:@"%C", [string characterAtIndex:i]]];
}

这正是我正在寻找的。谢谢! - Yannis

3
NSString *s = @"hello this is 123.";
const char *c = [s UTF8String];

如果您的字符串不是使用UTF-8编码的,您也可以使用-[NSString cStringUsingEncoding:]。

我该如何将每个单元格打印到输出中? 类似于以下内容: NSLog(@"第一个字符是%@", char[0]); 但它不起作用。 - user998596

1

NSString 可能包含无法适应 char 的 utf 8 或 utf 16 字符,因此访问底层 char 数组可能是一个不好的主意。

如果你想要的话,可以使用 characterAtIndex 消息来访问给定的字符并遍历字符串。


这是我处理它的方式,而不是假设。 - Simon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接