如何拆分一串单词并添加到一个数组 - Objective C

use*_*469 2 string objective-c

假设我有这个:

NSString *str = @"This is a sample string";

如何将每个单词添加到NSMutableArray中的方式拆分字符串?

在VB.net中,您可以这样做:

Dim str As String
    Dim strArr() As String
    Dim count As Integer
    str = "vb.net split test"
    strArr = str.Split(" ")
    For count = 0 To strArr.Length - 1
        MsgBox(strArr(count))
    Next
Run Code Online (Sandbox Code Playgroud)

那么如何在Objective-C中做到这一点呢?谢谢

tro*_*foe 7

NSArray *words = [str componentsSeparatedByString: @" "];
Run Code Online (Sandbox Code Playgroud)

请注意,words它作为自动释放对象返回,因此您可能需要retain它,除非您使用ARC.

此外,返回的数组不可变,因此您需要自己创建一个并使用返回的数组初始化它:

NSArray *words = [str componentsSeparatedByString: @" "];
NSMutableArray *mutableWords = [NSMutableArray arrayWithCapacity:[words count]];
[mutableWords addObjectsFromArray:words];
Run Code Online (Sandbox Code Playgroud)

要么:

NSMutableArray *mutableWords = [[str componentsSeparatedByString: @" "] mutableCopy];
Run Code Online (Sandbox Code Playgroud)

最后一个语句返回一个必须释放的对象,copy为您提供对象的所有权.