Objective-C Split ()?


Odpowiedzi:


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

gdzie yourString zawiera @"one:two:three"

i arrayOfComponents będą zawierać @[@"one", @"two", @"three"]

i możesz uzyskać dostęp do każdego za pomocą NSString *comp1 = arrayOfComponents[0];

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


29
Zwróć uwagę na odwrotność [NSArray componentsJoinedByString:].
devios1

Mam problem, jeśli zrobię @ „Hello world”. Zwróci tablicę 3 obiektów, z których ostatni zawiera @ "". Mógłbym przejrzeć tablicę i ją usunąć, ale czy jest lepszy sposób?
Au Ris

1
@AuRis spróbuj najpierw przyciąć białe znaki z ciągu: [string stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceCharacterSet]];
Duncs

95

Spróbuj tego:

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


4

Użyj tego: [[string componentsSeparatedByString: @ ","] [0];


6
Wciąż zastanawiam się, dlaczego ludzie odpowiadają na pytania, które są WIEKU i mają ustalone odpowiedzi ... Nie wspominając o twoim, po prostu wybiera pierwszy element, który nie ma sensu.
Christian Stewart

0

jeśli chcesz uzyskać dostęp do pierwszego słowa:

[[string componentsSeparatedByString:@" "] objectAtIndex:0];
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.