Objective-C Split ()?


Ответы:


199
NSArray *arrayOfComponents = [yourString componentsSeparatedByString:@":"];

где yourString содержит @"one:two:three"

и arrayOfComponents будет содержать @[@"one", @"two", @"three"]

и вы можете получить доступ к каждому с помощью NSString *comp1 = arrayOfComponents[0];

( https://developer.apple.com/documentation/foundation/nsstring/1413214-componentsseparatedbystring )


29
Обратите внимание на обратное [NSArray componentsJoinedByString:].
devios1

У меня проблема, если я сделаю @ "Hello world". Он вернет массив из 3 объектов, последний из которых содержит @ "". Я мог бы перебрать массив и удалить его, но есть ли способ лучше?
Au Ris

1
@AuR, попробуйте сначала удалить пробелы из строки: [string stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceCharacterSet]];
theDuncs

95

Попробуй это:

    NSString *testString= @"It's a rainy day";
    NSArray *array = [testString componentsSeparatedByString:@" "];


4

Используйте это: [[string componentsSeparatedByString: @ ","] [0];


6
Я все еще удивляюсь, почему люди отвечают на вопросы, которые устарели и имеют устоявшиеся ответы ... Не говоря уже о том, что ваш просто выбирает первый элемент, который не имеет смысла.
Кристиан Стюарт

0

если вы хотите получить доступ к первому слову:

[[string componentsSeparatedByString:@" "] objectAtIndex:0];
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.