如何将NSString分解为单个字符?

cgo*_*ain 2 iphone iphone-sdk-3.0 ios4

所以我有一个方法,它将NSString作为参数,我希望该方法基本上将该sting分解为单个字符并将它们存储在数组中(NSArray).

换句话说,我想读取字符串中的每个字符,并将各个字符以相同的顺序存储在一个数组中,这样我就可以在以后处理单个字符.

有什么想法吗?

Bra*_*rad 7

遍历字符串,使用characterAt - 并将每个字符附加到NSMutableArray.

但是,如果你这样做 - 为什么还要把它们放在NSArray中呢?

NSMutableArray *myArray = [[NSMutableArray] alloc] initWithCapacity:[string length]];

for (i=0;i<[string length];i++) {
  unichaar ch;
  ch = [string  characterAtIndex:i];
  NSLog(@"Processing charachter %c",ch);

   // If you really want
  [myArray addObject:(id) ch];
}
Run Code Online (Sandbox Code Playgroud)

  • 也可以使用`-getCharacters:range:`将所有字符复制到c字形的unichars数组中,这比使用`-characterAtIndex:`单独提取字符更有效.尽管如此,最好的解决方案可能是随你处理而根本不使用数组. (2认同)