Как я могу преобразовать NSString в массив? - PullRequest
3 голосов
/ 27 января 2011

Например, я читаю такие данные

a\tbcd\tttte\tjjjd\tnjnjnjd\tss\tee

и я хочу сделать массив следующим образом:

{ @"a", @"bcd", @"ttte", @"jjjd", @"njnjnjd", @"ss", @"ee" }

Как я могу это сделать? Спасибо.

Ответы [ 2 ]

31 голосов
/ 27 января 2011

Вы можете использовать -componentsSeparatedByString:, как в

NSArray *ary = [mystring componentsSeparatedByString:@"\t"];
2 голосов
/ 27 января 2011
- (NSArray *)componentsSeparatedByString:(NSString *)separator 

componentsSeparatedByString: Возвращает массив, содержащий подстроки из получателя, которые были разделены заданным разделителем.

  • (NSArray *) componentsSeparatedByString: (NSString *) разделитель Разделитель параметровСтрока разделителя.Возвращаемое значение Объект NSArray, содержащий подстроки из получателя, разделенные на разделители.

Обсуждение Подстроки в массиве отображаются в том же порядке, что и в получателе.Смежные вхождения строки разделителя приводят к пустым строкам в результате.Аналогично, если строка начинается или заканчивается разделителем, первая или последняя подстрока соответственно пуста.Например, этот фрагмент кода:

 NSString *list = @"Norman, Stanley, Fletcher";
 NSArray *listItems = [list componentsSeparatedByString:@", "];
produces an array { @"Norman",@"Stanley", @"Fletcher" }.

Если список начинается с запятой и пробела - например, «Норман, Стэнли, Флетчер» - массив имеет следующиеcontent: {@ "", @ "Norman", @ "Stanley", @ "Fletcher"}

Если в списке нет разделителей, например, "Norman", массив содержит саму строку, в этомcase {@ "Norman"}.

Доступность Доступно в Mac OS X v10.0 и более поздних версиях.

См. Также:

componentsJoinedByString: (NSArray)

- pathComponents

Код связанного образца:

ColorMatching

CoreRecipes

iSpend

iSpendPlugin

QTKitMovieShuffler

Объявлен в NSString.h

От NSString документы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...