Divisão Objective-C ()?


110

Existe alguma maneira de dividir strings em c objetivo em matrizes? Quero dizer assim - string de entrada Sim: 0: 42: valor em uma matriz de (Sim, 0,42, valor)?

Respostas:


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

onde sua String contém @"one:two:three"

e arrayOfComponents conterá @[@"one", @"two", @"three"]

e você pode acessar cada um com NSString *comp1 = arrayOfComponents[0];

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


29
Observe que o inverso é [NSArray componentsJoinedByString:].
devios1

Eu tenho um problema se eu fizer @ "Olá, mundo". Ele retornará um array de 3 objetos, dos quais o último contém @ "". Eu poderia fazer um loop pela matriz e excluí-la, mas existe uma maneira melhor?
Au Ris de

1
@AuRis tente primeiro cortar os espaços em branco da string: [stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceCharacterSet]];
theDuncs

95

Experimente isto:

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


4

Use isto: [[string componentsSeparatedByString: @ ","] [0];


6
Ainda me pergunto por que as pessoas respondem a perguntas que têm IDADE ANTES e têm respostas estabelecidas ... Sem falar que a sua apenas seleciona o primeiro elemento que não faz sentido.
Christian Stewart

0

se você quiser acessar a primeira palavra:

[[string componentsSeparatedByString:@" "] objectAtIndex:0];
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.