Objective-C Split ()?


Відповіді:


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

де міститься вашаString @"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
@AuRis спробуйте спочатку обрізати пробіл від рядка: [string stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceCharacterSet]];
theDuncs

95

Спробуйте це:

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


4

Використовуйте це: [[string elementsSeparatedByString: @ ","] [0];


6
Мені все ще цікаво, чому люди відповідають на запитання, які старі АГЕС та мають усталені відповіді ... Не кажучи вже про те, що ваш просто вибирає перший елемент, який не має сенсу.
Крістіан Стюарт

0

якщо ви хочете отримати доступ до першого слова:

[[string componentsSeparatedByString:@" "] objectAtIndex:0];
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.