Objective-C Split ()?

110

Apakah ada cara untuk membagi string di tujuan c menjadi array? Maksud saya seperti ini - input string Yes: 0: 42: value menjadi array (Yes, 0,42, value)?

Christian Stewart
sumber

Jawaban:

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

dimana yourString berisi @"one:two:three"

dan arrayOfComponents akan berisi @[@"one", @"two", @"three"]

dan Anda dapat mengakses masing-masing dengan NSString *comp1 = arrayOfComponents[0];

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

mipadi
sumber
29
Perhatikan kebalikannya [NSArray componentsJoinedByString:].
devios1
Saya punya masalah jika saya @ "Halo dunia". Ini akan mengembalikan larik 3 objek, yang terakhir berisi @ "". Saya dapat mengulang melalui array dan menghapusnya, tetapi apakah ada cara yang lebih baik?
Au Ris
1
@AuRis coba pangkas spasi putih dari string terlebih dahulu: [string stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceCharacterSet]];
theDuncs
95

Coba ini:

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

Gunakan ini: [[string componentsSeparatedByString: @ ","] [0];

Josep Escobar
sumber
6
Saya masih bertanya-tanya mengapa orang menjawab pertanyaan yang sudah UMUR dan telah mendapatkan jawaban ... Belum lagi pertanyaan Anda hanya memilih elemen pertama yang tidak masuk akal.
Christian Stewart
0

jika Anda ingin mengakses kata pertama:

[[string componentsSeparatedByString:@" "] objectAtIndex:0];
UMUT
sumber