Извлечение символов из объекта NSString

#objective-c #cocoa-touch #cocoa #foundation

#objective-c #cocoa-touch #cocoa #основа

Вопрос:

Как извлечь отдельные символы из объекта string в Objective-C?

Пример:

 NSString * fooString = [NSString stringWithFormat:@"FOOSTRING"];
  

Я хотел бы извлечь отдельные символы из строкового объекта, на который fooString указывает. F , O, O , S, T, R, I, N, G.

Комментарии:

1. Итак, вам нужен массив с символами?

2. @dasdom Да. Массив с символами.

3. @0x8badf00d Откуда вы знаете, что пытается сделать ‘ARC’?

4. @dasdom Я думаю, это очевидно из вопроса.

5. Инструкцию можно упростить: `NSString * fooString = @»FOOSTRING»;

Ответ №1:

 NSString * fooString = @"FOOSTRING";
NSMutableArray *list = [NSMutableArray array];
for (int i=0; i<fooString.length; i  ) {
    [list addObject:[fooString substringWithRange:NSMakeRange(i, 1)]];
}
NSLog(@"%@", list);
  

Вывод NSLog:

 (
                                                  F,
                                                  O,
                                                  O,
                                                  S,
                                                  T,
                                                  R,
                                                  I,
                                                  N,
                                                  G
                                                  )
  

Ответ №2:

Как насчет

 [fooString cStringUsingEncoding: NSUTF8StringEncoding];
  

Комментарии:

1. Вы также можете использовать [fooString UTF8String] или даже fooString.UTF8String .

Ответ №3:

вы также можете использовать [NSString getCharacters:(unichar array) range:(nsrange)]; вы получите простой в управлении массив.Мне это было нужно самому, и я нашел это по этой ссылке